summaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_output.c
AgeCommit message (Collapse)Author
2004-09-16don't send partial segments if SS_ISSENDING is set, rememberMarkus Friedl
TF_LASTIDLE across invocations of tcp_output (from freebsd); ok mcbride
2004-06-20remove #ifdef TUBAJun-ichiro itojun Hagino
2004-06-08factor out md5 code; ok+tests henning@, djm@, hshoexer@Markus Friedl
2004-06-05set m_pkthdr.len early; ok mcbride, deraadtMarkus Friedl
2004-05-31work around an LP64 problem where we report an excessively large windowBrad Smith
due to incorrect mixing of types. From NetBSD ok cedric@ markus@
2004-05-07Replace RSA-derived md5 code with code derived from Colin Plumb's PD version.Todd C. Miller
This moves md5.c out of libkern and into sys/crypto where it belongs (as requested by markus@). Note that md5.c is still mandatory (dev/rnd.c uses it). Verified with IPsec + hmac-md5 and tcp md5sig. OK henning@ and hshoexer@
2004-04-26- allow the user to force the TCP mss below the fail-safe 216 with a lowMike Frantzen
interface MTU. - break a tcp_output() -> tcp_mtudisc() -> tcp_output() infinite recursion when the TCP mss ends up larger than the interface MTU (when the if_mtu is smaller than the tcp header). connections will still stall feedback from itojun@, claudio@ and provos and testing from beck@
2004-02-16don't allocate a cluster if the header fits into a mbuf;Markus Friedl
ok itojun@, henning@, mcbride@
2004-02-10check TF_SIGNATURE when calculating the mss; add TCPOLEN_SIGLEN andMarkus Friedl
avoid magic constants; ok henning@
2004-01-31!sack_disable -> sack_enable; ok deraadt@Markus Friedl
2004-01-22add gettdbbysrcdst(), just like gettdb(), but compares tdb_src as well; ok ↵Markus Friedl
mcbride@
2004-01-15es tanzt das KNFMarkus Friedl
2004-01-14syncache+ipv6 support for TCP_SIGNATURE; with itojun; ok deraadtMarkus Friedl
2003-12-10de-register. deraadt okJun-ichiro itojun Hagino
2003-07-09do not flip ip_len/ip_off in netinet stack. deraadt ok.Jun-ichiro itojun Hagino
(please test, especially PF portion)
2003-06-09backout following:Jun-ichiro itojun Hagino
>use m_pulldown not m_pullup2. fix some bugs in IPv6 tcp_trace(). PR 3283 fixed (confirmed)
2003-06-02Remove the advertising clause in the UCB license which BerkeleyTodd C. Miller
rescinded 22 July 1999. Proofed by myself and Theo.
2003-05-29use m_pulldown not m_pullup2. fix some bugs in IPv6 tcp_trace().Jun-ichiro itojun Hagino
2003-01-25don't send more than half of the send buffer space limit inMarkus Friedl
one tcp segment, improves performance of tcp over interfaces with large mtu (e.g. lo0); based on similar change in netbsd; ok djm, henning, henric, millert, deraadt
2002-08-28Fix a problem where passing NULL as a pointer with varargs does not promotePer Fogelstrom
NULL to full 64 bits on a 64 bit address system. Soultion is to add a (void *) cast before NULL. This makes a 64 bit MIPS kernel work and will probably help future 64 bit ports as well. OK from art@
2002-06-09whitespaceJun-ichiro itojun Hagino
2002-06-07avoid is_ipv6 construct. a step towards IPv4-less kernelJun-ichiro itojun Hagino
2002-05-16bring in ECN support from KAME.Kenjiro Cho
it consists of - ECN support in TCP - tunnel-egress and fragment reassembly rules in layer-3 not to lose congestion info at tunnel-egress and fragment reassembly to enable ECN in TCP, build a kernel with TCP_ECN, and then, turn it on by "sysctl -w net.inet.tcp.ecn=1". ok deraadt@
2002-03-08use timeout(9) to schedule TCP timers. this avoid traversing allNiels Provos
tcp connections during tcp_slowtimo. apdapted from thorpej@netbsd.org
2002-03-01remove tcp_fasttimo and convert delayed acks to the timeout(9) API instead.Niels Provos
adapated from netbsd. okay angelos@
2002-02-05when retransmitting a segment after FIN has been sent don't set FINNiels Provos
unless we are transmitting the last of our data. report from jishac@grc.nasa.gov; pr/2368
2002-01-14knfNiels Provos
2002-01-14use macros to manage tcp timers; based on netbsdNiels Provos
2001-11-24KNFTheo de Raadt
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-25Use in_cksum_phdr() rather than in_cksum() -- from NetBSDAngelos D. Keromytis
2001-06-23Likewise, only use outgoing TCP/UDP hardware checksumming if theAngelos D. Keromytis
interface is not in bridge mode.
2001-06-23Keep stats on TCP/UDP hardware checksumming.Angelos D. Keromytis
2001-06-23TCP/UDP hardware checksumming. Untested, since txp dies when it triesAngelos D. Keromytis
to compute the checksums. Still, it shouldn't affect anything.
2001-06-23fix up mtu for routes and ongoing tcp connection when if mtu changesNiels Provos
from FreeBSD; fixes pr/1878
2001-06-08Cut down on include files.Angelos D. Keromytis
2001-06-05repair copyright notices for NRL & cmetz; cmetzTheo de Raadt
2001-05-31Two fixes from Stevens via davidg@freebsd, bug report byNiels Provos
armin@wolfermann.org - set the persist timer so that connections in CLOSING state timeout - honor keep-alive timer in CLOSING state. Fixes the problem in simulaneous close situation where connections would never leave the CLOSING state and stay arround indefinitly.
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-09-05various fixes to SACK and FACK from adesai@cisco.com, tomh@tomh.org andNiels Provos
osuga@mml.yrp.nttdocomo.co.jp
2000-02-21TCP SACK fixes via Tom Henderson (tomh@cs.berkeley.edu):Niels Provos
- tcp_sack_adjust() was completely rewritten, since it was erroneously referencing receiver side sequence numbers and comparing with sender side sequence numbers (thanks to Arun Desai (adesai@cisco.com) who discovered the problem) - in tcp_output(), moved assignment of sendalot=0 to the piece of code immediately following the search for sack-eligible retransmissions (bug identified by Arun Desai). - tcp_input() was not clearing t_dupacks if fewer than three dupacks arrived between acks of new data. (bug identified by Gaurav Banga (gaurav@netapp.com))
2000-01-07s/memset/bzero/Jun-ichiro itojun Hagino
From: Michael Shalayeff <mickey@lucifier.dial-up.user.akula.net>
1999-12-21option TCP_NEWRENO goes away, its the default case for TCP_SACK ifNiels Provos
SACK is disabled for the connection or via sysctl
1999-12-15never go into persist mode if there are still segments to be retransmitted.Niels Provos
set retransmit timer again if it was cleared, that can happen in SACK when there are no elligble SACK holes to be retransmitted and the receiver window is full.
1999-12-10sync DIAGNOSTIC code with reality. we always get cluster mbuf soJun-ichiro itojun Hagino
max_linkhdr + hdrlen <= MCLBYTES is safe.
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-12-02typo; gbayley@ausmac.netTheo de Raadt
1999-11-15Fix tcp retransmit/persist timers, provos@ OK.Hugh Graham
Adapted from NetBSD: Fix a retransmission bug introduced by the Brakmo and Peterson RTO estimation changes. Under some circumstances it would return a value of 0, while the old Van Jacobson RTO code would return a minimum of 3. This would result in 12 retransmissions, each 1 second apart. This takes care of those instances, and ensures that t_rttmin is used everywhere as a lower bound.