1
0
mirror of https://github.com/openbsd/src.git synced 2025-01-10 06:47:55 -08:00
Commit Graph

46 Commits

Author SHA1 Message Date
jason
a57e2087f9 Nuke a whole bunch of commons; ok tedu (still more to come *sigh*) 2003-05-12 00:48:52 +00:00
jason
0c4981b035 Remove commons; inspired by netbsd. 2003-02-12 14:41:07 +00:00
itojun
3e3142117c whitespace 2002-06-09 16:26:10 +00:00
kjc
74e8fb406b bring in ECN support from KAME.
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-05-16 14:10:51 +00:00
millert
c4071fd138 First round of __P removal in sys 2002-03-14 01:26:25 +00:00
provos
759b0e566c use timeout(9) to schedule TCP timers. this avoid traversing all
tcp connections during tcp_slowtimo.  apdapted from thorpej@netbsd.org
2002-03-08 03:49:58 +00:00
provos
9126175ae5 disable immediate ack on TH_PUSH. make behaviour sysctl tuneable.
from netbsd; also fix a bug where setting TF_ACKNOW didn't actually
result in an ack.
2002-03-02 00:44:52 +00:00
provos
99abd33ffd remove tcp_fasttimo and convert delayed acks to the timeout(9) API instead.
adapated from netbsd.  okay angelos@
2002-03-01 22:29:29 +00:00
provos
14333d66f4 allocate sackholes with pool 2002-01-15 19:18:01 +00:00
angelos
67475e5f67 Keep stats on TCP/UDP hardware checksumming. 2001-06-23 06:03:11 +00:00
angelos
d1eb37fff9 Inclusion protection. 2001-06-09 07:03:39 +00:00
provos
be03ea1b21 more random tcp sequence numbers. okay deraadt@, angelos@ 2000-12-13 09:47:08 +00:00
itojun
4d113176fe nuke #ifdef TCP6 (no longer supported).
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-12-11 08:04:55 +00:00
itojun
e030686130 implement net.inet.tcp.rstppslimit. rate-limits outbound TCP RST traffic
to less than N per 1 second.
2000-10-14 01:04:10 +00:00
provos
48f4b3145f on expiry of pmtu route, retry higher mtu. okay angelos@ 2000-09-25 09:41:02 +00:00
provos
39b94094a2 correctly calculate mss 2000-09-20 17:00:22 +00:00
provos
62c4355e0f Path MTU discovery based on NetBSD but with the decision to use the DF
flag delayed to ip_output().  That halves the code and reduces most of
the route lookups. okay deraadt@
2000-09-18 22:06:36 +00:00
provos
7b1010162a compute correct window scale when recvpipe option is set in route; based
on diff from "Pete Kazmier" <pete@kazmier.com>
2000-07-11 16:53:22 +00:00
art
3a11fd2794 Make the definition of tcpstat in tcp_var.h extern. 2000-06-26 22:45:09 +00:00
beck
e14da992b2 support ipv6 for tcp_ident 2000-06-18 04:42:43 +00:00
provos
e2dc046ce7 option TCP_NEWRENO goes away, its the default case for TCP_SACK if
SACK is disabled for the connection or via sysctl
1999-12-21 17:49:28 +00:00
itojun
287546ea80 bring in KAME IPv6 code, dated 19991208.
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-08 06:50:14 +00:00
deraadt
fd7cc30d93 back out all recent changes, which continue to be a source for nasty bugs 1999-08-06 18:17:37 +00:00
niklas
b0737b3837 Revert to 1.21 1999-07-22 17:51:30 +00:00
provos
b0842ceafb revert tcp_input.c to before 07/01/1999 - this seems to solve the mysterious
data corruptions and panics that people have experienced.  by reverting
we loose tcp signatures and ipv6 cleanups, the code looked correct to me.
1999-07-17 23:41:46 +00:00
cmetz
b9de2beaa8 Added support for TCP MD5 option (RFC 2385). 1999-07-06 20:17:52 +00:00
cmetz
610219bced Fixed a #ifdef defined()... typo that turned into a compilation failure. 1999-07-02 21:22:13 +00:00
provos
fd8f581361 add SADB_X_BINDSA to pfkey allowing incoming SAs to refer to an outgoing
SA to be used, use this SA in ip_output if available. allow mobile road
warriors for bind SAs with wildcard dst and src addresses. check IPSEC
AUTH and ESP level when receiving packets, drop them if protection is
insufficient. add stats to show dropped packets because of insufficient
IPSEC protection. -- phew.  this was all done in canada. dugsong and linh
provided the ride and company.
1999-03-27 21:04:18 +00:00
deraadt
770febe7b1 indent 1999-02-04 16:12:13 +00:00
deraadt
17dc401aa8 use u_int32_t and u_int64_t for stats variables, instead of quad/long 1999-02-04 00:04:59 +00:00
niklas
063b6f8156 Make TCP_SACK compile with new netinet 1999-01-11 15:05:32 +00:00
deraadt
8c2ac9d753 netinet merge of NRL stuff. some indent and shrinkage needed; NRL/cmetz 1999-01-11 02:01:34 +00:00
deraadt
6a764e7f32 indent right 1998-11-18 17:42:22 +00:00
provos
201dac0fe3 NewReno, SACK and FACK support for TCP, adapted from code for BSDI
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-11-17 19:23:00 +00:00
provos
5f0eddb4ad - fix three bugs pointed out in Stevens, i.a. updating timestamps correctly
- 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-10-28 21:34:32 +00:00
beck
942f35d530 New TCPCTL_IDENT sysctl for identd without kmem insanity. 1998-06-10 03:40:05 +00:00
angelos
e96da05183 Add FreeBSD patch (check for SYN packets arriving at a socket in
LISTEN state with source address/port == destination address/port).
1998-03-18 02:37:47 +00:00
mickey
30b11cdc26 sysctl for def sizes for tcp/udp send/recv queues 1998-01-24 18:21:39 +00:00
millert
4a304dbaae The list of tcp/udp ports not to allocate dynamically is now
a bitmask configurable via sysctl([38]).  The default values
have not changed.  If one wants to change the list it should
be done early on in /etc/rc.
1997-08-09 23:36:25 +00:00
deraadt
6b194240b2 change byte counters to u_quad_t 1997-06-15 13:47:27 +00:00
deraadt
0ab1fc182b add net.inet.tcp.{keepidle,keepintvl,slowhz}; mouse@Rodents.Montreal.QC.CA 1997-06-06 11:22:18 +00:00
deraadt
56955e71a8 `solve' the syn bomb problem as well as currently known; add sysctl's for
SOMAXCONN (kern.somaxconn), SOMINCONN (kern.sominconn), and TCPTV_KEEP_INIT
(net.inet.tcp.keepinittime). when this is not enough (ie. overfull), start
doing tail drop, but slightly prefer the same port.
1996-09-20 22:53:05 +00:00
tholo
db011c5bc0 TCP Persist handling; from 4.4BSD Lite2 (via NetBSD PR 2335) 1996-09-12 06:19:56 +00:00
niklas
b400e1581c From NetBSD: 960217 merge 1996-03-03 22:30:24 +00:00
deraadt
f3eb6470a8 from netbsd:
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.
1995-12-14 06:50:40 +00:00
deraadt
df930be708 initial import of NetBSD tree 1995-10-18 08:37:01 +00:00