diff options
author | 2002-05-16 14:10:51 +0000 | |
---|---|---|
committer | 2002-05-16 14:10:51 +0000 | |
commit | 74e8fb406b32d77df32ffdf4fc26b0e21d810a27 (patch) | |
tree | 507790e83bed4b31ccf6298b0aceeadbfd32dda2 /sys/netinet/tcp_timer.c | |
parent | Xref netstart(8) instead of rc(8) now, PR #2657 (diff) | |
download | wireguard-openbsd-74e8fb406b32d77df32ffdf4fc26b0e21d810a27.tar.xz wireguard-openbsd-74e8fb406b32d77df32ffdf4fc26b0e21d810a27.zip |
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@
Diffstat (limited to 'sys/netinet/tcp_timer.c')
-rw-r--r-- | sys/netinet/tcp_timer.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c index 5b86cac3218..36a3716f769 100644 --- a/sys/netinet/tcp_timer.c +++ b/sys/netinet/tcp_timer.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tcp_timer.c,v 1.28 2002/03/08 03:49:58 provos Exp $ */ +/* $OpenBSD: tcp_timer.c,v 1.29 2002/05/16 14:10:51 kjc Exp $ */ /* $NetBSD: tcp_timer.c,v 1.14 1996/02/13 23:44:09 christos Exp $ */ /* @@ -330,6 +330,13 @@ tcp_timer_rexmt(void *arg) tp->snd_cwnd = tp->t_maxseg; tp->snd_ssthresh = win * tp->t_maxseg; tp->t_dupacks = 0; +#ifdef TCP_ECN + tp->snd_last = tp->snd_max; + tp->t_flags |= TF_SEND_CWR; +#endif +#if 1 /* TCP_ECN */ + tcpstat.tcps_cwr_timeout++; +#endif } (void) tcp_output(tp); |