Home | History | Annotate | Download | only in man4
History log of /src/share/man/man4/tcp.4
RevisionDateAuthorComments
 1.31  14-Feb-2015  wiz Remove trailing space, use American spelling, bump date for previous.
 1.30  14-Feb-2015  he 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.29  10-Oct-2013  christos branches: 1.29.4;
remove dup info
 1.28  06-Oct-2013  christos bump date
 1.27  05-Oct-2013  christos mention increased tcp window size, from logan
 1.26  03-Oct-2013  mbalmer Clarify that setting the initial window size complies to RFC 3390.
From Loganaden Vevindron <logan@elandsys.com>.
 1.25  22-Mar-2010  joerg branches: 1.25.2; 1.25.8; 1.25.14;
Use .In instead of .Aq Pa for header files.
 1.24  13-May-2009  wiz Whitespace fixes. Sort SEE ALSO.
 1.23  20-Jun-2007  christos - per socket keepalive settings
- settable connection establishment timeout
 1.22  15-Mar-2007  gdt Refer to the location where TCP-relevant sysctl variables are
documented as sysctl(7) rather than sysctl(3). (Section 3 describes
C-level functions to access variables, and 7 lists variables along
with their meaning.)
 1.21  20-Oct-2006  yamt mention tcp abc. reminded by Rui Paulo.
 1.20  05-Sep-2006  rpaulo 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.19  29-Apr-2004  wiz Actually, we seem to be talking of ourselves, so Fx -> Nx.
 1.18  29-Apr-2004  wiz FreeBSD -> Fx; use - for hyphen, not \-.
 1.17  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.16  25-Apr-2004  snj Bump date for last, remove extra space, and new sentence, new line.
 1.15  25-Apr-2004  jonathan We now have more than one TCP socket option: TCP_MAXSEG, with further
socket options (TCP_MD5SIG) in the works. Break TCP socket-options
into a list, and add a list element for TCP_MAXSEG, with text borrowed
from FreeBSD. (NB: our implementation may need improving to match that
rather general text.)

In preparation for adding list elements for TCP_MD5SIG.
 1.14  23-Nov-2003  jhawk Wow, Dd had not been bumped in 10 years! By rights this manpage should
discuss our various TCP options and recommended configurations in great
detail...

Add Xr to syctl(3) and a bulletted list summarizing some of the
TCP parameters that may be adjusted that are documented therein.
 1.13  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22309, verified by myself.
 1.12  16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.11  04-Feb-2003  perry "Utilize" has exactly the same meaning as "use," but it is more
difficult to read and understand. Most manuals of English style
therefore say that you should use "use".
 1.10  18-Jul-2002  wrstuden historical BSD sounds better than BSD historical
 1.9  18-Jul-2002  wrstuden Update to match change in TCP_NODELAY inheritance for passive sockets.
 1.8  13-Feb-2002  ross branches: 1.8.2;
Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
 1.7  22-Sep-2001  wiz Sort sections, sort SEE ALSO, paragraph fixes and misc. improvements.
 1.6  22-May-2000  itojun refer inet6(4) and ip6(4) where necessary.
 1.5  16-Mar-1999  garbled More and more of .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages. Many more to
come.
 1.4  30-Apr-1998  fair Marathon man page editing session to fix broken .Xr's, add important
references, add a little white space here & there for readability,
clean up some mdoc(7) macro usage and so on. Whew!
 1.3  30-Nov-1994  jtc Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
 1.2  01-Aug-1993  mycroft Add RCS identifiers.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2  30-Nov-1994  jtc imported from 4.4lite
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8.2.2  21-Jul-2002  lukem Pull up revision 1.10 (requested by wrstuden in ticket #517):
historical BSD sounds better than BSD historical
 1.8.2.1  21-Jul-2002  lukem Pull up revision 1.9 (requested by wrstuden in ticket #517):
Update to match change in TCP_NODELAY inheritance for passive sockets.
 1.25.14.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.25.8.1  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.25.2.2  22-Mar-2010  joerg Use .In instead of .Aq Pa for header files.
 1.25.2.1  22-Mar-2010  joerg file tcp.4 was added on branch uebayasi-xip on 2010-03-22 18:58:32 +0000
 1.29.4.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.

RSS XML Feed