summaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_usrreq.c
AgeCommit message (Collapse)Author
2007-11-16in the strange/unnatural/ridiculous situation where a non-blockingTheo de Raadt
connect() which has completed and failed.. if connect() is called again.. return the so_error instead of EINVAL; from Alexey Vatchenko matches what other systems do now ok millert henning
2007-09-01since theHenning Brauer
MGET* macros were changed to function calls, there wasn't any need for the pool declarations and the inclusion of pool.h From: tbert <bret.lambert@gmail.com>
2007-06-25merge tcp_set_iss() and tcp_set_tsm(); ok mcbride, djm (on earlier version)Markus Friedl
2007-06-15Drop the current random timestamps and the current ISN generationMarkus Friedl
code and replace both with a RFC1948 based method, so TCP clients now have monotonic ISN/timestamps. The server side uses completely random ISN/timestamps and does time-wait recycling (on port reuse). ok djm@, mcbride@; thanks to lots of testers
2005-03-04- check th_ack against snd_una/max; from Raja Mukerji via hugh@Markus Friedl
- limit pool to tcp_sackhole_limit entries (sysctl-able) - stop sack option processing on pool_get errors - use SEQ_MIN/SEQ_MAX ok henning, hshoexer, deraadt
2005-02-22Move #ifdef INET6 outside of 'case AF_INET6:' in tcp_ident().Ryan Thomas McBride
No functional change due to earlier check, fix from Maxim Konovalov <maxim@macomnet.ru> ok deraadt@ dhartmei@
2004-10-28Modulate tcp_now by a random amount on a per-connection basis.Ryan Thomas McBride
ok markus@ frantzen@
2004-07-15tcp_trace() expects short, not int; ok deraadtMarkus Friedl
2004-04-27Require NULL oldp when dropping a connection.Otto Moerbeek
ok markus@
2004-04-26change tcpdrop to require newp instead of oldp; suggested by ottoMarkus Friedl
2004-04-25add TCPCTL_DROP; ok deraadt, cedric, grange, ...Markus Friedl
2004-04-12remove duplicate if. from pedro martelletto, ok markus@Ted Unangst
2004-03-02limit total number of queued out-of-order packets to NMBCLUSTERS/2; ok mcbrideMarkus Friedl
2004-02-15switch to sysctl_int_arr(); ok itojun, henning, miod, deraadtMarkus Friedl
2004-01-31rename tcp sockopt TCP_SIGNATURE_ENABLE to TCP_MD5SIGHenning Brauer
requested by theo ok markus@ hshoexer@
2004-01-31!sack_disable -> sack_enable; ok deraadt@Markus Friedl
2004-01-30add support for getsockopt(..., TCP_SIGNATURE_ENABLEHenning Brauer
so you can check wether a just accept()ed connection is md5sig'd ok deraadt@ markus@
2004-01-29support for RFC3390 (Increasing TCP's Initial Window); ok deraadt, itojunMarkus Friedl
2004-01-06import netbsd's version of David Borman's syncache codeMarkus Friedl
http://www.kohala.com/start/borman.97jun06.txt; ok deraadt@, henning@
2003-12-10de-register. deraadt okJun-ichiro itojun Hagino
2003-12-08Mbuf tag tcp and udp packets which are translated to localhost, andRyan Thomas McBride
use the the presence of this tag to reverse the match order in in{6}_pcblookup_listen(). Some daemons (such as portmap) do a double bind, binding to both * and localhost in order to differentiate local from non-local connections, and potentially granting more privilege to local ones. This change ensures that redirected connections to localhost do not appear local to such a daemon. Bulk of changes from dhartmei@, some changes markus@ ok dhartmei@ deraadt@
2003-11-04add in(6)_pcblookup_listen() and replace all calls to in_pcblookup()Markus Friedl
with either in(6)_pcbhashlookup() or in(6)_pcblookup_listen(); in_pcblookup is now only used by bind(2); speeds up pcb lookup for listening sockets; from Claudio Jeker
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-02-12Remove commons; inspired by netbsd.Jason Wright
2002-09-11KNF - return is not a function. sync w/kameJun-ichiro itojun Hagino
2002-08-08redo socketbuf speedup.Niels Provos
2002-08-08backout the tree break. ok pb@, art@Todd T. Fries
2002-08-08socket buf speedup from thorpej@netbsd, okay art@ ericj@:Niels Provos
Make insertion of data into socket buffers O(C): * Keep pointers to the first and last mbufs of the last record in the socket buffer. * Use the sb_lastrecord pointer in the sbappend*() family of functions to avoid traversing the packet chain to find the last record. * Add a new sbappend_stream() function for stream protocols which guarantee that there will never be more than one record in the socket buffer. This function uses the sb_mbtail pointer to perform the data insertion. Make TCP use sbappend_stream(). On a profiling run, this makes sbappend of a TCP transmission using a 1M socket buffer go from 50% of the time to .02% of the time. Thanks to Bill Sommerfeld and YAMAMOTO Takashi for their debugging assistance!
2002-06-09whitespaceJun-ichiro itojun Hagino
2002-06-07avoid is_ipv6 construct. a step towards IPv4-less kernelJun-ichiro itojun Hagino
2002-05-26remove extra spaces, tabs, and semicolon.Federico G. Schwindt
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-14First round of __P removal in sysTodd C. Miller
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-02disable immediate ack on TH_PUSH. make behaviour sysctl tuneable.Niels Provos
from netbsd; also fix a bug where setting TF_ACKNOW didn't actually result in an ack.
2002-02-15Don't cast nonexistent return value from splx to (void). ok art@Thomas Nordin
2002-01-14use macros to manage tcp timers; based on netbsdNiels Provos
2001-06-26Restore inclusion of <sys/systm.h>.Aaron Campbell
2001-06-08Cut down on include files.Angelos D. Keromytis
2001-06-05repair copyright notices for NRL & cmetz; cmetzTheo de Raadt
2001-05-27Remove unnecessary XXX comment.Angelos D. Keromytis
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-14implement net.inet.tcp.rstppslimit. rate-limits outbound TCP RST trafficJun-ichiro itojun Hagino
to less than N per 1 second.
2000-09-19Lots and lots of changes.Angelos D. Keromytis
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-06completely remove ipv4 mapped cases from tcp_input().Jun-ichiro itojun Hagino
cleanup (indentation, v4-or-v6 conditions)
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.