]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
Add a comment specifying how we implement rfc3042.
authorhiren <hiren@FreeBSD.org>
Tue, 6 Oct 2015 07:46:19 +0000 (07:46 +0000)
committerhiren <hiren@FreeBSD.org>
Tue, 6 Oct 2015 07:46:19 +0000 (07:46 +0000)
Differential Revision: D3746
MFC after:     1 week
Sponsored by:     Limelight Networks

sys/netinet/tcp_input.c

index 5d2cac493973f6bf6ba87d9e8216d05f8b3dbe24..b6ea859de3102bf955eed0c85109abefd8e947e9 100644 (file)
@@ -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;