History log of /src/sys/netinet/tcp.h |
Revision | | Date | Author | Comments |
1.37 |
| 03-Feb-2021 |
roy | CTASSERT -> __CTASSERT to unbreak userland build.
While here move __packed in tcp_debug.h back to where it was and note removal warrants more investigation.
|
1.36 |
| 03-Feb-2021 |
roy | Sprinkle CTASSERT to enforce on-wire layout without __packed
|
1.35 |
| 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.34 |
| 01-Nov-2019 |
christos | branches: 1.34.8; Add comments to the tcp flags.
|
1.33 |
| 10-Jan-2017 |
christos | branches: 1.33.16; add a couple of lint comments.
|
1.32 |
| 02-Jan-2017 |
christos | Fix TCP signature code: 1. pack options more tightly instead of being generous with no/op 2. put TCP_SIGNATURE option before SACK 3. fix computation of options length, by deferring it XXX: Really we should move the options setting code in one place instead of having two copies one for input and one for output. XXX: tcp_optlen/tcp_hdrsiz need to be fixed; they were wrong before too.
|
1.31 |
| 14-Feb-2015 |
he | branches: 1.31.2; Port over the TCP_INFO socket option from FreeBSD, originally from the Linux 2.6 TCP API. This permits the caller to query certain information about a TCP connection, and is used by pkgsrc's net/iperf3 test program if available.
This extends struct tcbcb with three fields to count retransmits, out-of-sequence receives and zero window announcements, and will therefore warrant a kernel revision bump (done separately).
|
1.30 |
| 07-Jan-2012 |
christos | branches: 1.30.6; 1.30.22; 1.30.24; make standalone
|
1.29 |
| 11-Dec-2011 |
christos | u_int -> uint
|
1.28 |
| 25-Dec-2007 |
perry | branches: 1.28.44; 1.28.48; Convert many of the uses of __attribute__ to equivalent __packed, __unused and __dead macros from cdefs.h
|
1.27 |
| 02-Aug-2007 |
rmind | branches: 1.27.4; 1.27.10; 1.27.12; 1.27.16; 1.27.20; TCP socket buffers automatic sizing - ported from FreeBSD. http://mail-index.netbsd.org/tech-net/2007/02/04/0006.html
! Disabled by default, marked as experimental. Testers are very needed. ! Someone should thoroughly test this, and improve if possible.
Discussed on <tech-net>: http://mail-index.netbsd.org/tech-net/2007/07/12/0002.html Thanks Greg Troxel for comments.
OK by the long silence on <tech-net>.
|
1.26 |
| 20-Jun-2007 |
christos | branches: 1.26.2; - per socket keepalive settings - settable connection establishment timeout
|
1.25 |
| 09-Oct-2006 |
rpaulo | branches: 1.25.8; 1.25.10; Modular (I tried ;-) TCP congestion control API. Whenever certain conditions happen in the TCP stack, this interface calls the specified callback to handle the situation according to the currently selected congestion control algorithm. A new sysctl node was created: net.inet.tcp.congctl.{available,selected} with obvious meanings. The old net.inet.tcp.newreno MIB was removed. The API is discussed in tcp_congctl(9).
In the near future, it will be possible to selected a congestion control algorithm on a per-socket basis.
Discussed on tech-net and reviewed by <yamt>.
|
1.24 |
| 25-Sep-2006 |
rpaulo | Remove line that shouldn't have been committed.
|
1.23 |
| 25-Sep-2006 |
rpaulo | PR/14806: NetBSD uses the wrong default TCP MSS. No objections in tech-net.
|
1.22 |
| 05-Sep-2006 |
rpaulo | branches: 1.22.2; 1.22.4; Import of TCP ECN algorithm for congestion control. Both available for IPv4 and IPv6. Basic implementation test results are available at http://netbsd-soc.sourceforge.net/projects/ecn/testresults.html.
Work sponsored by the Google Summer of Code project 2006. Special thanks to Kentaro Kurahone, Allen Briggs and Matt Thomas for their help, comments and support during the project.
|
1.21 |
| 10-Dec-2005 |
elad | branches: 1.21.4; 1.21.8; Multiple inclusion protection, as suggested by christos@ on tech-kern@ few days ago.
|
1.20 |
| 21-Jul-2005 |
riz | Add a definition for TCPOLEN_SIGLEN from OpenBSD, so a kernel with options TCP_SIGNATURE will compile again after the new PMTU checks were brought in from OpenBSD. Approved by christos.
|
1.19 |
| 07-Mar-2005 |
yamt | branches: 1.19.4; tcp_sack_option: the max number of sack blocks in a packet is 4, not 3.
|
1.18 |
| 07-Dec-2004 |
yamt | branches: 1.18.4; 1.18.6; remove TCPOPT_MD5SIGNATURE because no one in our tree uses it and it's duplicated with TCPOPT_SIGNATURE. i preferred TCPOPT_SIGNATURE because it's used by FreeBSD and OpenBSD.
|
1.17 |
| 07-May-2004 |
kleink | Add definitions for the (currently unimplemented) ECN TCP flags; from Chuck Swiger in PR standards/25058.
|
1.16 |
| 25-Apr-2004 |
jonathan | Initial commit of a port of the FreeBSD implementation of RFC 2385 (MD5 signatures for TCP, as used with BGP). Credit for original FreeBSD code goes to Bruce M. Simpson, with FreeBSD sponsorship credited to sentex.net. Shortening of the setsockopt() name attributed to Vincent Jardin.
This commit is a minimal, working version of the FreeBSD code, as MFC'ed to FreeBSD-4. It has received minimal testing with a ttcp modified to set the TCP-MD5 option; BMS's additions to tcpdump-current (tcpdump -M) confirm that the MD5 signatures are correct. Committed as-is for further testing between a NetBSD BGP speaker (e.g., quagga) and industry-standard BGP speakers (e.g., Cisco, Juniper).
NOTE: This version has two potential flaws. First, I do see any code that verifies recieved TCP-MD5 signatures. Second, the TCP-MD5 options are internally padded and assumed to be 32-bit aligned. A more space-efficient scheme is to pack all TCP options densely (and possibly unaligned) into the TCP header ; then do one final padding to a 4-byte boundary. Pre-existing comments note that accounting for TCP-option space when we add SACK is yet to be done. For now, I'm punting on that; we can solve it properly, in a way that will handle SACK blocks, as a separate exercise.
In case a pullup to NetBSD-2 is requested, this adds sys/netipsec/xform_tcp.c ,and modifies:
sys/net/pfkeyv2.h,v 1.15 sys/netinet/files.netinet,v 1.5 sys/netinet/ip.h,v 1.25 sys/netinet/tcp.h,v 1.15 sys/netinet/tcp_input.c,v 1.200 sys/netinet/tcp_output.c,v 1.109 sys/netinet/tcp_subr.c,v 1.165 sys/netinet/tcp_usrreq.c,v 1.89 sys/netinet/tcp_var.h,v 1.109 sys/netipsec/files.netipsec,v 1.3 sys/netipsec/ipsec.c,v 1.11 sys/netipsec/ipsec.h,v 1.7 sys/netipsec/key.c,v 1.11 share/man/man4/tcp.4,v 1.16 lib/libipsec/pfkey.c,v 1.20 lib/libipsec/pfkey_dump.c,v 1.17 lib/libipsec/policy_token.l,v 1.8 sbin/setkey/parse.y,v 1.14 sbin/setkey/setkey.8,v 1.27 sbin/setkey/token.l,v 1.15
Note that the preceding two revisions to tcp.4 will be required to cleanly apply this diff.
|
1.15 |
| 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.14 |
| 05-May-2003 |
bjh21 | branches: 1.14.2; Header cleanup: Hide all of this file apart from the socket options from POSIX/XNS applications.
|
1.13 |
| 26-May-2001 |
matt | Add TCP_MD5SIGNATURE option.
|
1.12 |
| 05-Jul-2000 |
christos | branches: 1.12.2; added a linted comment about non-portable bitfields. Unfortunately it cannot be fixed portably.
|
1.11 |
| 20-Nov-1999 |
thorpej | Add the `packed' attribute to structures which describe wire protocol data.
|
1.10 |
| 04-Oct-1998 |
matt | branches: 1.10.12; 1.10.18; Adapt the NEWRENO changes from the UCSB diffs of BSDI 3.0's TCP to NetBSD. Ignore the SACK & FACK stuff for now.
|
1.9 |
| 10-Feb-1998 |
perry | add/cleanup multiple inclusion protection.
|
1.8 |
| 17-Apr-1995 |
cgd | spacing cleaup. also, minor type mixup fixups.
|
1.7 |
| 13-Apr-1995 |
cgd | be a bit more careful and explicit with types. (basically a large no-op.)
|
1.6 |
| 29-Jun-1994 |
cgd | New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
1.5 |
| 13-May-1994 |
mycroft | Update to 4.4-Lite networking code, with a few local changes.
|
1.4 |
| 08-Jan-1994 |
mycroft | Fix some inconsistent spacing; spaces at the end of lines, etc.
|
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.10.18.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.10.12.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.12.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.14.2.7 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.14.2.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.14.2.5 |
| 08-Mar-2005 |
skrll | Sync with HEAD.
|
1.14.2.4 |
| 18-Dec-2004 |
skrll | Sync with HEAD.
|
1.14.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.14.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.14.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.18.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.18.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.19.4.4 |
| 21-Jan-2008 |
yamt | sync with head
|
1.19.4.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.19.4.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.19.4.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.21.8.1 |
| 14-Sep-2006 |
yamt | sync with head.
|
1.21.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.22.4.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.22.2.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.25.10.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.25.8.2 |
| 20-Aug-2007 |
ad | Sync with HEAD.
|
1.25.8.1 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.26.2.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.27.20.2 |
| 02-Aug-2007 |
rmind | TCP socket buffers automatic sizing - ported from FreeBSD. http://mail-index.netbsd.org/tech-net/2007/02/04/0006.html
! Disabled by default, marked as experimental. Testers are very needed. ! Someone should thoroughly test this, and improve if possible.
Discussed on <tech-net>: http://mail-index.netbsd.org/tech-net/2007/07/12/0002.html Thanks Greg Troxel for comments.
OK by the long silence on <tech-net>.
|
1.27.20.1 |
| 02-Aug-2007 |
rmind | file tcp.h was added on branch matt-mips64 on 2007-08-02 02:42:41 +0000
|
1.27.16.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.27.12.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.27.10.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.27.4.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.28.48.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.28.44.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.30.24.2 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.30.24.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.30.22.1 |
| 21-Feb-2015 |
martin | Pull up following revision(s) (requested by he in ticket #530): sys/netinet/tcp_output.c: revision 1.180 sys/netinet/tcp_input.c: revision 1.336 sys/netinet/tcp_usrreq.c: revision 1.203 share/man/man4/tcp.4: revision 1.30 sys/netinet/tcp.h: revision 1.31 sys/netinet/tcp_subr.c: revision 1.258 sys/netinet/tcp_var.h: revision 1.176 sys/netinet/tcp_var.h: revision 1.177 sys/sys/param.h: bump revision
Port over the TCP_INFO socket option from FreeBSD, originally from the Linux 2.6 TCP API. This permits the caller to query certain information about a TCP connection, and is used by pkgsrc's net/iperf3 test program if available.
This extends struct tcbcb with three fields to count retransmits, out-of-sequence receives and zero window announcements, and will therefore warrant a kernel revision bump (done separately).
Change the new counter variables in struct tcpcb to uint32_t, as per christos' comments.
|
1.30.6.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.31.2.2 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.31.2.1 |
| 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
1.33.16.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.34.8.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|