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
This commit is contained in:
Michael Tuexen 2016-08-26 07:49:23 +00:00
parent 77c4f5aa9d
commit 91843cf34e

View File

@ -5515,6 +5515,11 @@ __attribute__((noinline))
*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) {