Author: tuexen
Date: Fri May 29 13:08:43 2015
New Revision: 283729
URL: https://svnweb.freebsd.org/changeset/base/283729

Log:
  MFC r280404:
  
  When an ICMP message is received and the MTU shrinks, only
  mark outstanding chunks for retransmissions.

Modified:
  stable/10/sys/netinet/sctp_usrreq.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/netinet/sctp_usrreq.c
==============================================================================
--- stable/10/sys/netinet/sctp_usrreq.c Fri May 29 13:06:15 2015        
(r283728)
+++ stable/10/sys/netinet/sctp_usrreq.c Fri May 29 13:08:43 2015        
(r283729)
@@ -125,21 +125,19 @@ sctp_pathmtu_adjustment(struct sctp_tcb 
                        if (chk->sent < SCTP_DATAGRAM_RESEND) {
                                sctp_flight_size_decrease(chk);
                                sctp_total_flight_decrease(stcb, chk);
-                       }
-                       if (chk->sent != SCTP_DATAGRAM_RESEND) {
+                               chk->sent = SCTP_DATAGRAM_RESEND;
                                
sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt);
+                               chk->rec.data.doing_fast_retransmit = 0;
+                               if (SCTP_BASE_SYSCTL(sctp_logging_level) & 
SCTP_FLIGHT_LOGGING_ENABLE) {
+                                       
sctp_misc_ints(SCTP_FLIGHT_LOG_DOWN_PMTU,
+                                           chk->whoTo->flight_size,
+                                           chk->book_size,
+                                           (uintptr_t) chk->whoTo,
+                                           chk->rec.data.TSN_seq);
+                               }
+                               /* Clear any time so NO RTT is being done */
+                               chk->do_rtt = 0;
                        }
-                       chk->sent = SCTP_DATAGRAM_RESEND;
-                       chk->rec.data.doing_fast_retransmit = 0;
-                       if (SCTP_BASE_SYSCTL(sctp_logging_level) & 
SCTP_FLIGHT_LOGGING_ENABLE) {
-                               sctp_misc_ints(SCTP_FLIGHT_LOG_DOWN_PMTU,
-                                   chk->whoTo->flight_size,
-                                   chk->book_size,
-                                   (uintptr_t) chk->whoTo,
-                                   chk->rec.data.TSN_seq);
-                       }
-                       /* Clear any time so NO RTT is being done */
-                       chk->do_rtt = 0;
                }
        }
 }
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to