Author: tuexen
Date: Sat Jan 25 13:34:29 2020
New Revision: 357115
URL: https://svnweb.freebsd.org/changeset/base/357115

Log:
  Don't set the ECT codepoint on retransmitted packets during SACK loss
  recovery. This is required by RFC 3168.
  
  Submitted by:         Richard Scheffenegger
  Reviewed by:          rgrimes@, tuexen@, Cheng Cui
  MFC after:            1 week
  Differential Revision:        https://reviews.freebsd.org/D23118

Modified:
  head/sys/netinet/tcp_output.c
  head/sys/netinet/tcp_stacks/rack.c

Modified: head/sys/netinet/tcp_output.c
==============================================================================
--- head/sys/netinet/tcp_output.c       Sat Jan 25 13:11:14 2020        
(r357114)
+++ head/sys/netinet/tcp_output.c       Sat Jan 25 13:34:29 2020        
(r357115)
@@ -1162,6 +1162,7 @@ send:
                 * Ignore pure ack packets, retransmissions and window probes.
                 */
                if (len > 0 && SEQ_GEQ(tp->snd_nxt, tp->snd_max) &&
+                   (sack_rxmit == 0) &&
                    !((tp->t_flags & TF_FORCEDATA) && len == 1)) {
 #ifdef INET6
                        if (isipv6)

Modified: head/sys/netinet/tcp_stacks/rack.c
==============================================================================
--- head/sys/netinet/tcp_stacks/rack.c  Sat Jan 25 13:11:14 2020        
(r357114)
+++ head/sys/netinet/tcp_stacks/rack.c  Sat Jan 25 13:34:29 2020        
(r357115)
@@ -9477,6 +9477,7 @@ send:
                 * retransmissions and window probes.
                 */
                if (len > 0 && SEQ_GEQ(tp->snd_nxt, tp->snd_max) &&
+                   (sack_rxmit == 0) &&
                    !((tp->t_flags & TF_FORCEDATA) && len == 1)) {
 #ifdef INET6
                        if (isipv6)
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to