diff options
author | Renato Botelho <renato@netgate.com> | 2015-10-21 16:04:13 -0200 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2015-10-21 16:04:13 -0200 |
commit | 6dfdfbb12b356dae762c3bce132809457ed60d97 (patch) | |
tree | 4e87edfd6f7353e79d923ab457270e9351daec3d /sys/netinet | |
parent | 13010d6b0da4d97e56243edbea0a585b8285cd3e (diff) | |
parent | d621159ed6a7d1c98cf81f17e313dffc64bf7c4f (diff) | |
download | FreeBSD-src-6dfdfbb12b356dae762c3bce132809457ed60d97.zip FreeBSD-src-6dfdfbb12b356dae762c3bce132809457ed60d97.tar.gz |
Merge branch 'stable/10' into devel
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/tcp_input.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index f75de7f..631cd2e 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -2521,6 +2521,16 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so, tp->snd_nxt = onxt; goto drop; } else if (V_tcp_do_rfc3042) { + /* + * Process first and second duplicate + * ACKs. Each indicates a segment + * leaving the network, creating room + * for more. Make sure we can send a + * packet on reception of each duplicate + * ACK by increasing snd_cwnd by one + * segment. Restore the original + * snd_cwnd after packet transmission. + */ cc_ack_received(tp, th, CC_DUPACK); u_long oldcwnd = tp->snd_cwnd; tcp_seq oldsndmax = tp->snd_max; |