diff options
author | hiren <hiren@FreeBSD.org> | 2015-10-06 07:46:19 +0000 |
---|---|---|
committer | hiren <hiren@FreeBSD.org> | 2015-10-06 07:46:19 +0000 |
commit | 9fffe2524dd695053a4ad0b6fa7428f3023b33e6 (patch) | |
tree | dba0030aeb50aa6ba90f8f981aba1a255f16c959 /sys | |
parent | f61b60624c8d04156826dd91d4c4e605f76248dd (diff) | |
download | FreeBSD-src-9fffe2524dd695053a4ad0b6fa7428f3023b33e6.zip FreeBSD-src-9fffe2524dd695053a4ad0b6fa7428f3023b33e6.tar.gz |
Add a comment specifying how we implement rfc3042.
Differential Revision: D3746
MFC after: 1 week
Sponsored by: Limelight Networks
Diffstat (limited to 'sys')
-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 5d2cac4..b6ea859 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -2536,6 +2536,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; |