svn commit: r304837 - head/sys/netinet

Michael Tuexen tuexen at FreeBSD.org
Fri Aug 26 07:49:24 UTC 2016


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) {


More information about the svn-src-head mailing list