summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_timer.c
diff options
context:
space:
mode:
authorkjc <kjc@openbsd.org>2002-05-16 14:10:51 +0000
committerkjc <kjc@openbsd.org>2002-05-16 14:10:51 +0000
commit74e8fb406b32d77df32ffdf4fc26b0e21d810a27 (patch)
tree507790e83bed4b31ccf6298b0aceeadbfd32dda2 /sys/netinet/tcp_timer.c
parentXref netstart(8) instead of rc(8) now, PR #2657 (diff)
downloadwireguard-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.c9
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);