summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_indata.c
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2008-08-28 09:44:07 +0000
committerrrs <rrs@FreeBSD.org>2008-08-28 09:44:07 +0000
commita97a9f5233562046294f64d3db07ca1c90e63a35 (patch)
tree4a6ba48264c10107c71cdb81d7b311404516ea68 /sys/netinet/sctp_indata.c
parent8ccd4bd3a18f0d73c17c7096b561febf5d6f93d8 (diff)
downloadFreeBSD-src-a97a9f5233562046294f64d3db07ca1c90e63a35.zip
FreeBSD-src-a97a9f5233562046294f64d3db07ca1c90e63a35.tar.gz
- Make strict-sacks be the default.
- Change it so that without INVARIANTs there are no panics in SCTP. - sctp_timer changes so that we have a recovery mechanism when the sent list is out of order.
Diffstat (limited to 'sys/netinet/sctp_indata.c')
-rw-r--r--sys/netinet/sctp_indata.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/netinet/sctp_indata.c b/sys/netinet/sctp_indata.c
index 8a1d057..5e00d14 100644
--- a/sys/netinet/sctp_indata.c
+++ b/sys/netinet/sctp_indata.c
@@ -386,12 +386,21 @@ abandon:
if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
goto abandon;
} else {
+#ifdef INVARIANTS
if ((stcb->asoc.control_pdapi == NULL) || (stcb->asoc.control_pdapi->tail_mbuf == NULL)) {
panic("This should not happen control_pdapi NULL?");
}
/* if we did not panic, it was a EOM */
panic("Bad chunking ??");
- return;
+#else
+ if ((stcb->asoc.control_pdapi == NULL) || (stcb->asoc.control_pdapi->tail_mbuf == NULL)) {
+ SCTP_PRINTF("This should not happen control_pdapi NULL?\n");
+ }
+ SCTP_PRINTF("Bad chunking ??\n");
+ SCTP_PRINTF("Dumping re-assembly queue this will probably hose the association\n");
+
+#endif
+ goto abandon;
}
}
cntDel++;
OpenPOWER on IntegriCloud