svn commit: r195906 - head/sys/netinet
Michael Tuexen
tuexen at FreeBSD.org
Mon Jul 27 13:41:46 UTC 2009
Author: tuexen
Date: Mon Jul 27 13:41:45 2009
New Revision: 195906
URL: http://svn.freebsd.org/changeset/base/195906
Log:
Fix the handling of unordered messages when using
PR-SCTP.
Approved by: re, rrs (mentor)
MFC after: 3 weeks.
Modified:
head/sys/netinet/sctp_indata.c
Modified: head/sys/netinet/sctp_indata.c
==============================================================================
--- head/sys/netinet/sctp_indata.c Mon Jul 27 13:36:35 2009 (r195905)
+++ head/sys/netinet/sctp_indata.c Mon Jul 27 13:41:45 2009 (r195906)
@@ -5923,7 +5923,13 @@ sctp_flush_reassm_for_str_seq(struct sct
chk = TAILQ_FIRST(&asoc->reasmqueue);
while (chk) {
at = TAILQ_NEXT(chk, sctp_next);
- if (chk->rec.data.stream_number != stream) {
+ /*
+ * Do not toss it if on a different stream or marked
+ * for unordered delivery in which case the stream
+ * sequence number has no meaning.
+ */
+ if ((chk->rec.data.stream_number != stream) ||
+ ((chk->rec.data.rcv_flags & SCTP_DATA_UNORDERED) == SCTP_DATA_UNORDERED)) {
chk = at;
continue;
}
More information about the svn-src-all
mailing list