Author: tuexen
Date: Fri Aug 26 07:49:23 2016
New Revision: 304837
URL: https://svnweb.freebsd.org/changeset/base/304837

Log:
  Fix a bug, where no SACK is sent when receiving a FORWARD-TSN or
  I-FORWARD-TSN chunk before any DATA or I-DATA chunk.
  
  Thanks to Julian Cordes for finding this problem and prividing
  packetdrill scripts to reporduce the issue.
  
  MFC after: 3 days

Modified:
  head/sys/netinet/sctp_input.c

Modified: head/sys/netinet/sctp_input.c
==============================================================================
--- head/sys/netinet/sctp_input.c       Fri Aug 26 06:19:12 2016        
(r304836)
+++ head/sys/netinet/sctp_input.c       Fri Aug 26 07:49:23 2016        
(r304837)
@@ -5515,6 +5515,11 @@ process_control_chunks:
                                        *offset = length;
                                        return (NULL);
                                }
+                               /*
+                                * For sending a SACK this looks like DATA
+                                * chunks.
+                                */
+                               stcb->asoc.last_data_chunk_from = 
stcb->asoc.last_control_chunk_from;
                                sctp_handle_forward_tsn(stcb,
                                    (struct sctp_forward_tsn_chunk *)ch, 
&abort_flag, m, *offset);
                                if (abort_flag) {
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to