summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_subr.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Appease gcc by not using void pointers in arithmetic operations.aaron2001-06-261-3/+3
|
* Always defer output TCP checksumming until ip_output() (or hardware,angelos2001-06-251-4/+5
| | | | | if it exists). Cuts down on code a bit, and we don't need to look at the routing entry at TCP. Based on NetBSD. UDP case to follow.
* Add comment on why checksum deferral is not useful in tcp_respond()angelos2001-06-231-1/+7
|
* Cut down on include files.angelos2001-06-081-8/+2
|
* repair copyright notices for NRL & cmetz; cmetzderaadt2001-06-051-14/+38
|
* use faster arc4random() in tcp_rndiss_next; niels okmickey2001-06-041-7/+3
|
* Match IPSEC output prototypes.angelos2001-05-311-3/+2
|
* Fix tcp_signature_tdb_input decl; kernel compiles again if TCP_SIGNATUREfgsch2001-05-011-2/+3
| | | | option is used. Note that this does not work.
* Move offsetof define into sys/param.hcsapuntz2001-04-061-5/+1
|
* provide a random start for tcp timestamps; niels@ okmickey2001-03-141-1/+2
|
* pull in new pcb notification code from kame. better handling of scope address.itojun2001-02-161-62/+52
|
* correct ipv6 path mtu discovery.itojun2000-12-211-2/+2
|
* more random tcp sequence numbers. okay deraadt@, angelos@provos2000-12-131-4/+55
|
* nuke #ifdef TCP6 (no longer supported).itojun2000-12-111-26/+81
| | | | | | | validate ICMPv6 too big messages (pmtud) based on pcb. we accept certain amount of non-validated ones, as IPv6 mandates ICMPv6 (so even for traffic from unconnected pcb, we need pmtud). sync with kame
* validate mbuf chain length on *_ctlinput. remote node may be able toitojun2000-10-131-1/+5
| | | | transmit a truncated icmp6 packet and panic the system. sync with kame.
* verify payload of the icmp need fragment message at the tcp layer. okay itojun@provos2000-10-101-3/+23
|
* on expiry of pmtu route, retry higher mtu. okay angelos@provos2000-09-251-2/+24
|
* correctly calculate mssprovos2000-09-201-12/+5
|
* Path MTU discovery based on NetBSD but with the decision to use the DFprovos2000-09-181-4/+51
| | | | | flag delayed to ip_output(). That halves the code and reduces most of the route lookups. okay deraadt@
* forgot to reset rscaleprovos2000-07-111-1/+2
|
* compute correct window scale when recvpipe option is set in route; basedprovos2000-07-111-1/+13
| | | | on diff from "Pete Kazmier" <pete@kazmier.com>
* more cleanup for IPv4 mapped address support. there seem to be someitojun2000-07-051-9/+5
| | | | | | | | | inconsistency in corner cases (from NRL I believe). todd (fries) and I have seen panic, with the following call chain: ip6_input -> tcp_input -> tcp_respond -> ip_input -> bang! more cleanups should be done, to decrease complexity. for example, INP_IPV6_MAPPED should be nuked.
* Make the definition of tcpstat in tcp_var.h extern.art2000-06-261-1/+3
|
* correctly handle ctlinput messages for IPv6.itojun2000-06-031-27/+80
|
* Fix function to comply with prototype. Kind of moot, as tcp signaturesangelos2000-03-211-2/+2
| | | | don't work yet anyhow, so there's no point compiling them in.
* ensure tcp window size does not overflow (16bit unsigned after window scale).itojun2000-02-291-4/+5
| | | | FreeBSD PR: 16914
* fix _input/_output proto changes for tcp_signature; angelos@ okmickey1999-12-291-3/+5
|
* enable SACK againprovos1999-12-211-2/+2
|
* bring in KAME IPv6 code, dated 19991208.itojun1999-12-081-48/+61
| | | | | | | | | replaces NRL IPv6 layer. reuses NRL pcb layer. no IPsec-on-v6 support. see sys/netinet6/{TODO,IMPLEMENTATION} for more details. GENERIC configuration should work fine as before. GENERIC.v6 works fine as well, but you'll need KAME userland tools to play with IPv6 (will be bringed into soon).
* Get rid of unnecessary third argument in *_output routines of IPsec.angelos1999-10-291-3/+2
|
* Disable SACK for now, it has problems, deraadt@millert1999-08-271-2/+2
|
* Added support for TCP MD5 option (RFC 2385).cmetz1999-07-061-1/+94
|
* Removed bogus ifdef/define lines that resulted from an over-aggressive M-x.cmetz1999-07-061-5/+1
|
* Fixed a #ifdef defined()... typo that turned into a compilation failure.cmetz1999-07-021-3/+3
|
* Significant cleanups in the way TCP is made to handle multiple networkcmetz1999-07-021-38/+87
| | | | | | | | | | | | | | | | | | protocols. "struct tcpiphdr" is now gone from much of the code, as are separate pointers for ti and ti6. The result is fewer variables, which is generally a good thing. Simple if(is_ipv6) ... else ... tests are gone in favor of a switch(protocol family), which allows future new protocols to be added easily. This also makes it possible for someone so inclined to re-implement TUBA (TCP over CLNP?) and do it right instead of the kluged way it was done in 4.4. The TCP header template is now referenced through a mbuf rather than done through a data pointer and dtom()ed as needed. This is partly because dtom() is evil and partly because max_linkhdr + IPv6 + TCP + MSS/TS/SACK opts won't fit inside a packet header mbuf, so we need to grab a cluster for that (which the code now does, if needed).
* inet6 indentderaadt1999-02-171-5/+2
|
* netinet merge of NRL stuff. some indent and shrinkage needed; NRL/cmetzderaadt1999-01-111-52/+277
|
* NewReno, SACK and FACK support for TCP, adapted from code for BSDIprovos1998-11-171-2/+26
| | | | | | | | by Hari Balakrishnan (hari@lcs.mit.edu), Tom Henderson (tomh@cs.berkeley.edu) and Venkat Padmanabhan (padmanab@cs.berkeley.edu) as part of the Daedalus research group at the University of California, (http://daedalus.cs.berkeley.edu). [I was able to do this on time spent at the Center for Information Technology Integration (citi.umich.edu)]
* - fix three bugs pointed out in Stevens, i.a. updating timestamps correctlyprovos1998-10-281-2/+2
| | | | | | | | | | - fix a 4.4bsd-lite2 bug, when tcp options are present the maximum segment size is not updated correctly, so that fast recovery forces out a segment which is split in two segments by tcp_output(), the fix is adpated from FreeBSD, the effective mss is recorded after option negotiation in 3way handshake. [I was able to fix this on time spent at Center for Information Technology Integration (citi.umich.edu)]
* first step to the setsockopt/getsockopt interface as described inprovos1998-05-181-2/+2
| | | | | | | draft-mcdonald-simple-ipsec-api, kernel notifies (EMT_REQUESTSA) signal userland key management applications when security services are requested. this is only for outgoing connections at the moment, incoming packets are not yet checked against the selected socket policy.
* indentderaadt1997-08-261-3/+3
|
* use arc4random()deraadt1997-02-051-2/+3
|
* Remove random() prototype, as it's not needed. Besides it was wrong for the alpha :-)niklas1996-07-291-3/+1
|
* Make TCP ISS increment by random amountstholo1996-07-291-2/+7
|
* remove unnecessary "XXX it should be sysctl()'ed"mickey1996-05-151-2/+1
|
* fix NetBSD PR#854.mickey1996-05-151-2/+16
| | | | allow to overwrite rfc1323 option in config file.
* From NetBSD: 960217 mergeniklas1996-03-031-16/+17
|
* from netbsd:deraadt1995-12-141-14/+10
| | | | | | | | | 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.
* initial import of NetBSD treederaadt1995-10-181-0/+453