diff options
| author | 2005-05-24 00:02:37 +0000 | |
|---|---|---|
| committer | 2005-05-24 00:02:37 +0000 | |
| commit | 53b31d658b698baab2f19f832a8829071f25fe0d (patch) | |
| tree | 0c19d7c2a01e9d093ce2b2e86249a74d7c432da7 /sys/netinet/tcp_output.c | |
| parent | fix rasops initialization when not acting as console; ok miod@ (diff) | |
| download | wireguard-openbsd-53b31d658b698baab2f19f832a8829071f25fe0d.tar.xz wireguard-openbsd-53b31d658b698baab2f19f832a8829071f25fe0d.zip | |
Ignore ICMP Source Quench messages meant for TCP connections. (Details in
http://www.gont.com.ar/drafts/icmp-attacks-against-tcp.html)
ok markus frantzen
Diffstat (limited to 'sys/netinet/tcp_output.c')
| -rw-r--r-- | sys/netinet/tcp_output.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c index 5c57acaa65e..e19d623de96 100644 --- a/sys/netinet/tcp_output.c +++ b/sys/netinet/tcp_output.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tcp_output.c,v 1.77 2005/04/25 17:55:52 brad Exp $ */ +/* $OpenBSD: tcp_output.c,v 1.78 2005/05/24 00:02:37 fgont Exp $ */ /* $NetBSD: tcp_output.c,v 1.16 1997/06/03 16:17:09 kml Exp $ */ /* @@ -1118,7 +1118,11 @@ send: if (error) { out: if (error == ENOBUFS) { - tcp_quench(tp->t_inpcb, 0); + /* + * If the interface queue is full, or IP cannot + * get an mbuf, trigger TCP slow start. + */ + tp->snd_cwnd = tp->t_maxseg; return (0); } if (error == EMSGSIZE) { |
