summaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_subr.c
AgeCommit message (Collapse)Author
2001-07-18zero tcp checksum field before calculating new value.Marco S Hyman
Fixes problem with bad checksums on keepalives OK provos@
2001-07-03Pointer arithmetic fixes work better when you get the casting right.Angelos D. Keromytis
2001-06-26Appease gcc by not using void pointers in arithmetic operations.Aaron Campbell
2001-06-25Always defer output TCP checksumming until ip_output() (or hardware,Angelos D. Keromytis
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.
2001-06-23Add comment on why checksum deferral is not useful in tcp_respond()Angelos D. Keromytis
2001-06-08Cut down on include files.Angelos D. Keromytis
2001-06-05repair copyright notices for NRL & cmetz; cmetzTheo de Raadt
2001-06-04use faster arc4random() in tcp_rndiss_next; niels okMichael Shalayeff
2001-05-31Match IPSEC output prototypes.Angelos D. Keromytis
2001-05-01Fix tcp_signature_tdb_input decl; kernel compiles again if TCP_SIGNATUREFederico G. Schwindt
option is used. Note that this does not work.
2001-04-06Move offsetof define into sys/param.hConstantine Sapuntzakis
2001-03-14provide a random start for tcp timestamps; niels@ okMichael Shalayeff
2001-02-16pull in new pcb notification code from kame. better handling of scope address.Jun-ichiro itojun Hagino
2000-12-21correct ipv6 path mtu discovery.Jun-ichiro itojun Hagino
2000-12-13more random tcp sequence numbers. okay deraadt@, angelos@Niels Provos
2000-12-11nuke #ifdef TCP6 (no longer supported).Jun-ichiro itojun Hagino
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
2000-10-13validate mbuf chain length on *_ctlinput. remote node may be able toJun-ichiro itojun Hagino
transmit a truncated icmp6 packet and panic the system. sync with kame.
2000-10-10verify payload of the icmp need fragment message at the tcp layer. okay itojun@Niels Provos
2000-09-25on expiry of pmtu route, retry higher mtu. okay angelos@Niels Provos
2000-09-20correctly calculate mssNiels Provos
2000-09-18Path MTU discovery based on NetBSD but with the decision to use the DFNiels Provos
flag delayed to ip_output(). That halves the code and reduces most of the route lookups. okay deraadt@
2000-07-11forgot to reset rscaleNiels Provos
2000-07-11compute correct window scale when recvpipe option is set in route; basedNiels Provos
on diff from "Pete Kazmier" <pete@kazmier.com>
2000-07-05more cleanup for IPv4 mapped address support. there seem to be someJun-ichiro itojun Hagino
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.
2000-06-26Make the definition of tcpstat in tcp_var.h extern.Artur Grabowski
2000-06-03correctly handle ctlinput messages for IPv6.Jun-ichiro itojun Hagino
2000-03-21Fix function to comply with prototype. Kind of moot, as tcp signaturesAngelos D. Keromytis
don't work yet anyhow, so there's no point compiling them in.
2000-02-29ensure tcp window size does not overflow (16bit unsigned after window scale).Jun-ichiro itojun Hagino
FreeBSD PR: 16914
1999-12-29fix _input/_output proto changes for tcp_signature; angelos@ okMichael Shalayeff
1999-12-21enable SACK againNiels Provos
1999-12-08bring in KAME IPv6 code, dated 19991208.Jun-ichiro itojun Hagino
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).
1999-10-29Get rid of unnecessary third argument in *_output routines of IPsec.Angelos D. Keromytis
1999-08-27Disable SACK for now, it has problems, deraadt@Todd C. Miller
1999-07-06Added support for TCP MD5 option (RFC 2385).cmetz
1999-07-06Removed bogus ifdef/define lines that resulted from an over-aggressive M-x.cmetz
1999-07-02Fixed a #ifdef defined()... typo that turned into a compilation failure.cmetz
1999-07-02Significant cleanups in the way TCP is made to handle multiple networkcmetz
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).
1999-02-17inet6 indentTheo de Raadt
1999-01-11netinet merge of NRL stuff. some indent and shrinkage needed; NRL/cmetzTheo de Raadt
1998-11-17NewReno, SACK and FACK support for TCP, adapted from code for BSDINiels Provos
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)]
1998-10-28- fix three bugs pointed out in Stevens, i.a. updating timestamps correctlyNiels Provos
- 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)]
1998-05-18first step to the setsockopt/getsockopt interface as described inNiels Provos
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.
1997-08-26indentTheo de Raadt
1997-02-05use arc4random()Theo de Raadt
1996-07-29Remove random() prototype, as it's not needed. Besides it was wrong for the ↵Niklas Hallqvist
alpha :-)
1996-07-29Make TCP ISS increment by random amountsThorsten Lockert
1996-05-15remove unnecessary "XXX it should be sysctl()'ed"Michael Shalayeff
1996-05-15fix NetBSD PR#854.Michael Shalayeff
allow to overwrite rfc1323 option in config file.
1996-03-03From NetBSD: 960217 mergeNiklas Hallqvist
1995-12-14from netbsd:Theo de Raadt
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.