History log of /src/sys/netinet/udp_var.h |
Revision | | Date | Author | Comments |
1.48 |
| 03-Feb-2021 |
roy | Sprinkle CTASSERT to enforce on-wire layout without __packed
|
1.47 |
| 03-Feb-2021 |
roy | Remove __packed from various network structures
They are already network aligned and adding the __packed attribute just causes needless compiler warnings about accssing members of packed objects.
|
1.46 |
| 20-Aug-2020 |
riastradh | branches: 1.46.2; [ozaki-r] Changes to the kernel core for wireguard
|
1.45 |
| 14-Sep-2018 |
maxv | Use non-variadic function pointer in protosw::pr_input.
|
1.44 |
| 22-Aug-2018 |
msaitoh | - Cleanup for dynamic sysctl: - Remove unused *_NAMES macros for sysctl. - Remove unused *_MAXID for sysctls. - Move CTL_MACHDEP sysctl definitions for m68k into m68k/include/cpu.h and use them on all m68k machines.
|
1.43 |
| 08-Feb-2018 |
maxv | branches: 1.43.2; 1.43.4; Style, and remove prototype of udp_sysctl (does not exist).
|
1.42 |
| 10-Aug-2017 |
ryo | Add support IP_PKTINFO for sendmsg(2).
The source address or output interface can be specified by adding IP_PKTINFO to the control part of the message on a SOCK_DGRAM or SOCK_RAW socket.
Reviewed by ozaki-r@ and christos@. thanks.
|
1.41 |
| 20-Jan-2016 |
riastradh | branches: 1.41.10; Give proper prototype to udp_output.
|
1.40 |
| 18-May-2014 |
rmind | branches: 1.40.4; Add struct pr_usrreqs with a pr_generic function and prepare for the dismantling of pr_usrreq in the protocols; no functional change intended. PRU_ATTACH/PRU_DETACH changes will follow soon.
Bump for struct protosw. Welcome to 6.99.62!
|
1.39 |
| 02-Jan-2014 |
pooka | branches: 1.39.2; Allow kernels compiled with INET+INET6 to be booted as IPv4-only or IPv6-only.
|
1.38 |
| 22-Jun-2012 |
christos | branches: 1.38.2; 1.38.4; PR/46602: Move the rfc6056 port randomization to the IP layer.
|
1.37 |
| 24-Sep-2011 |
christos | branches: 1.37.2; Add inet4 part of the rfc6056 code contributed by Vlad Balan as part of Google SoC-2011
|
1.36 |
| 06-Aug-2008 |
plunky | Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.35 |
| 12-Apr-2008 |
thorpej | branches: 1.35.4; 1.35.6; 1.35.10; Make IP, TCP, UDP, and ICMP statistics per-CPU. The stats are collated when the user requests them via sysctl.
|
1.34 |
| 06-Apr-2008 |
thorpej | Change UDP stats from a structure to an array of uint64_t's.
Note: This is ABI-compatible with the old icmpstat structure; old netstat binaries will continue to work properly.
|
1.33 |
| 25-Dec-2007 |
perry | branches: 1.33.6; Convert many of the uses of __attribute__ to equivalent __packed, __unused and __dead macros from cdefs.h
|
1.32 |
| 17-Feb-2007 |
dyoung | branches: 1.32.18; 1.32.24; 1.32.26; 1.32.30; KNF: de-__P, bzero -> memset, bcmp -> memcmp. Remove extraneous parentheses in return statements.
Cosmetic: don't open-code TAILQ_FOREACH().
Cosmetic: change types of variables to avoid oodles of casts: in in6_src.c, avoid casts by changing several route_in6 pointers to struct route pointers. Remove unnecessary casts to caddr_t elsewhere.
Pave the way for eliminating address family-specific route caches: soon, struct route will not embed a sockaddr, but it will hold a reference to an external sockaddr, instead. We will set the destination sockaddr using rtcache_setdst(). (I created a stub for it, but it isn't used anywhere, yet.) rtcache_free() will free the sockaddr. I have extracted from rtcache_free() a helper subroutine, rtcache_clear(). rtcache_clear() will "forget" a cached route, but it will not forget the destination by releasing the sockaddr. I use rtcache_clear() instead of rtcache_free() in rtcache_update(), because rtcache_update() is not supposed to forget the destination.
Constify:
1 Introduce const accessor for route->ro_dst, rtcache_getdst().
2 Constify the 'dst' argument to ifnet->if_output(). This led me to constify a lot of code called by output routines.
3 Constify the sockaddr argument to protosw->pr_ctlinput. This led me to constify a lot of code called by ctlinput routines.
4 Introduce const macros for converting from a generic sockaddr to family-specific sockaddrs, e.g., sockaddr_in: satocsin6, satocsin, et cetera.
|
1.31 |
| 11-Dec-2005 |
christos | branches: 1.31.26; merge ktrace-lwp.
|
1.30 |
| 10-Dec-2005 |
elad | Multiple inclusion protection, as suggested by christos@ on tech-kern@ few days ago.
|
1.29 |
| 10-Aug-2005 |
yamt | move {tcp,udp}_do_loopback_cksum back to tcp/udp so that they can be referenced by ipv6.
|
1.28 |
| 05-Aug-2005 |
elad | Add sysctls for IP, ICMP, TCP, and UDP statistics.
|
1.27 |
| 12-Feb-2005 |
manu | branches: 1.27.6; Add support for IPsec Network Address Translator traversal (NAT-T), as described by RFC 3947 and 3948.
|
1.26 |
| 21-Dec-2004 |
yamt | branches: 1.26.2; 1.26.4; factor out receive side tcp/udp checksum handling code so that they can be used by eg. packet filters.
reviewed by Christos Zoulas on tech-net@. (slightly tweaked since then to make tcp and udp similar.)
|
1.25 |
| 15-Dec-2004 |
thorpej | Don't perform checksums on loopback interfaces. They can be reenabled with the net.inet.*.do_loopback_cksum sysctl.
Approved by: groo
|
1.24 |
| 21-Apr-2004 |
itojun | no space between function name and paren: foo (blah) -> foo(blah)
|
1.23 |
| 18-Apr-2004 |
matt | De __P()
|
1.22 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.21 |
| 29-Jun-2003 |
fvdl | branches: 1.21.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
1.20 |
| 28-Jun-2003 |
darrenr | Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
1.19 |
| 30-Jun-2002 |
thorpej | Changes to allow the IPv4 and IPv6 layers to align headers themseves, as necessary: * Implement a new mbuf utility routine, m_copyup(), is is like m_pullup(), except that it always prepends and copies, rather than only doing so if the desired length is larger than m->m_len. m_copyup() also allows an offset into the destination mbuf, which allows space for packet headers, in the forwarding case. * Add *_HDR_ALIGNED_P() macros for IP, IPv6, ICMP, and IGMP. These macros expand to 1 if __NO_STRICT_ALIGNMENT is defined, so that architectures which do not have strict alignment constraints don't pay for the test or visit the new align-if-needed path. * Use the new macros to check if a header needs to be aligned, or to assert that it already is, as appropriate.
Note: This code is still somewhat experimental. However, the new code path won't be visited if individual device drivers continue to guarantee that packets are delivered to layer 3 already properly aligned (which are rules that are already in use).
|
1.18 |
| 12-May-2002 |
matt | branches: 1.18.2; Eliminate commons.
|
1.17 |
| 20-Nov-1999 |
thorpej | branches: 1.17.6; 1.17.8; Add the `packed' attribute to structures which describe wire protocol data.
|
1.16 |
| 19-Nov-1999 |
bouyer | Update protocoles and interfaces stats counters to 64bit. RTM_IFINFO is now 0xf, 0xe is RTM_OIFINFO which returns the old (if_msghdr14) struct with 32bit counters (binary compat, conditioned on COMPAT_14). Same for sysctl: node 3 is renamed NET_RT_OIFLIST, NET_RT_IFLIST is now node 4. Change rt_msg1() to add an mbuf to the mbuf chain instead of just panic() when the message is larger than MHLEN.
|
1.15 |
| 10-Feb-1998 |
perry | branches: 1.15.12; 1.15.14; 1.15.20; add/cleanup multiple inclusion protection.
|
1.14 |
| 28-Jul-1997 |
thorpej | Make the following tunable via sysctl, inspired by BSD/OS: - udp_sendspace - udp_recvspace
|
1.13 |
| 22-May-1996 |
mycroft | Pass a proc pointer down to the usrreq and pcbbind functions for PRU_ATTACH, PRU_BIND and PRU_CONTROL. The usrreq interface really needs to be split up, but this will have to wait. Remove SS_PRIV completely.
|
1.12 |
| 13-Feb-1996 |
christos | branches: 1.12.4; netinet prototypes
|
1.11 |
| 31-Jan-1996 |
mycroft | Build a hash table of PCBs. Hash function needs tweaking.
|
1.10 |
| 21-Nov-1995 |
cgd | make netinet work on systems where pointers and longs are 64 bits (like the alpha). Biggest problem: IP headers were overlayed with structure which included pointers, and which therefore didn't overlay properly on 64-bit machines. Solution: instead of threading pointers through IP header overlays, add a "queue element" structure to do the threading, and point it at the ip headers.
|
1.9 |
| 12-Jun-1995 |
mycroft | branches: 1.9.2; Various cleanup, including: * Convert several data structures to use queue.h. * Split in_pcbnotify() into two parts; one for notifying a specific PCB, and one for notifying all PCBs for a particular foreign address.
|
1.8 |
| 26-Mar-1995 |
jtc | KERNEL -> _KERNEL
|
1.7 |
| 29-Jun-1994 |
cgd | New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
1.6 |
| 13-May-1994 |
mycroft | Update to 4.4-Lite networking code, with a few local changes.
|
1.5 |
| 10-Jan-1994 |
mycroft | Change the counters to be all the same type -- u_long.
|
1.4 |
| 08-Jan-1994 |
mycroft | Prototypes.
|
1.3 |
| 20-May-1993 |
cgd | more rcsid additions and file header cleanups
|
1.2 |
| 19-Apr-1993 |
mycroft | Add consistent multiple-inclusion protection.
|
1.1 |
| 21-Mar-1993 |
cgd | branches: 1.1.1; Initial revision
|
1.1.1.2 |
| 05-Jan-1998 |
thorpej | Import sys/netinet from 4.4BSD-Lite for reference purposes.
|
1.1.1.1 |
| 21-Mar-1993 |
cgd | initial import of 386bsd-0.1 sources
|
1.9.2.1 |
| 02-Feb-1996 |
mycroft | Bring in changes for mondo patch 2.
|
1.12.4.1 |
| 11-Dec-1996 |
mycroft | From trunk: Eliminate SS_PRIV; instead, pass down a proc pointer to the usrreq methods that need it. Fix numerous memory leaks and bogus return values.
|
1.15.20.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.15.14.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.15.12.3 |
| 30-Nov-1999 |
itojun | bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch just for reference purposes. This commit includes 1.4 -> 1.4.1 sync for kame branch.
The branch does not compile at all (due to the lack of ALTQ and some other source code). Please do not try to modify the branch, this is just for referenre purposes.
synchronization to latest KAME will take place on HEAD branch soon.
|
1.15.12.2 |
| 06-Jul-1999 |
itojun | KAME/NetBSD 1.4, SNAP kit 1999/07/05. NOTE: this branch is just for reference purposes (i.e. for taking cvs diff). do not touch anything on the branch. actual work must be done on HEAD branch.
|
1.15.12.1 |
| 28-Jun-1999 |
itojun | KAME/NetBSD 1.4 SNAP kit, dated 19990628.
NOTE: this branch (kame) is used just for refernce. this may not compile due to multiple reasons.
|
1.17.8.2 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.17.8.1 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.17.6.2 |
| 01-Aug-2002 |
nathanw | Catch up to -current.
|
1.17.6.1 |
| 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.18.2.1 |
| 15-Jul-2002 |
gehenna | catch up with -current.
|
1.21.2.9 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.21.2.8 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.21.2.7 |
| 15-Feb-2005 |
skrll | Sync with HEAD.
|
1.21.2.6 |
| 17-Jan-2005 |
skrll | Sync with HEAD.
|
1.21.2.5 |
| 18-Dec-2004 |
skrll | Sync with HEAD.
|
1.21.2.4 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.21.2.3 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.21.2.2 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.21.2.1 |
| 02-Jul-2003 |
darrenr | Apply the aborted ktrace-lwp changes to a specific branch. This is just for others to review, I'm concerned that patch fuziness may have resulted in some errant code being generated but I'll look at that later by comparing the diff from the base to the branch with the file I attempt to apply to it. This will, at the very least, put the changes in a better context for others to review them and attempt to tinker with removing passing of 'struct lwp' through the kernel.
|
1.26.4.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.26.2.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.27.6.3 |
| 21-Jan-2008 |
yamt | sync with head
|
1.27.6.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.27.6.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.31.26.1 |
| 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.32.30.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.32.26.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.32.24.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.32.18.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.33.6.2 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.33.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.35.10.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.35.6.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.35.4.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.37.2.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.37.2.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.38.4.4 |
| 18-May-2014 |
rmind | sync with head
|
1.38.4.3 |
| 23-Sep-2013 |
rmind | - Add some initial locking to the IPv4 PCB. - Rename inpcb_lookup_*() routines to be more accurate and add comments. - Add some comments about connection life-cycle WRT socket layer.
|
1.38.4.2 |
| 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.38.4.1 |
| 17-Jul-2013 |
rmind | Checkpoint work in progress: - Move PCB structures under __INPCB_PRIVATE, adjust most of the callers and thus make IPv4 PCB structures mostly opaque. Any volunteers for merging in6pcb with inpcb (see rpaulo-netinet-merge-pcb branch)? - Move various global vars to the modules where they belong, make them static. - Some preliminary work for IPv4 PCB locking scheme. - Make raw IP code mostly MP-safe. Simplify some of it. - Rework "fast" IP forwarding (ipflow) code to be mostly MP-safe. It should run from a software interrupt, rather than hard. - Rework tun(4) pseudo interface to be MP-safe. - Work towards making some other interfaces more strict.
|
1.38.2.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.38.2.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.39.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.40.4.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.40.4.1 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.41.10.1 |
| 21-Dec-2017 |
snj | Pull up following revision(s) (requested by ryo in ticket #445): distrib/sets/lists/debug/mi: revision 1.222 distrib/sets/lists/tests/mi: revision 1.760 share/man/man4/ip.4: revision 1.38 sys/netinet/in.c: revision 1.207 sys/netinet/in.h: revision 1.101 sys/netinet/in_pcb.c: revision 1.179 sys/netinet/in_pcb.h: revision 1.64 sys/netinet/ip_output.c: revision 1.284, 1.286 sys/netinet/ip_var.h: revision 1.120-1.121 sys/netinet/raw_ip.c: revision 1.166-1.167 sys/netinet/udp_usrreq.c: revision 1.235-1.236 sys/netinet/udp_var.h: revision 1.42 tests/net/net/Makefile: revision 1.21 tests/net/net/t_pktinfo_send.c: revision 1.1-1.2 Add support IP_PKTINFO for sendmsg(2). The source address or output interface can be specified by adding IP_PKTINFO to the control part of the message on a SOCK_DGRAM or SOCK_RAW socket. Reviewed by ozaki-r@ and christos@. thanks. -- As is the case with IPV6_PKTINFO, IP_PKTINFO can be sent without EADDRINUSE even if the UDP address:port in use is specified.
|
1.43.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.43.2.2 |
| 30-Sep-2018 |
pgoyette | Ssync with HEAD
|
1.43.2.1 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.46.2.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|