svn commit: r320653 - head/sys/netinet
Michael Tuexen
tuexen at FreeBSD.org
Tue Jul 4 18:24:51 UTC 2017
Author: tuexen
Date: Tue Jul 4 18:24:50 2017
New Revision: 320653
URL: https://svnweb.freebsd.org/changeset/base/320653
Log:
Move to open state after plausibility checks.
When doing this too early, the MIB counters go wrong.
MFC after: 1 week
Modified:
head/sys/netinet/sctp_input.c
Modified: head/sys/netinet/sctp_input.c
==============================================================================
--- head/sys/netinet/sctp_input.c Tue Jul 4 18:23:17 2017 (r320652)
+++ head/sys/netinet/sctp_input.c Tue Jul 4 18:24:50 2017 (r320653)
@@ -2252,17 +2252,6 @@ sctp_process_cookie_new(struct mbuf *m, int iphlen, in
stcb->asoc.authenticated = 1;
}
}
- /* update current state */
- SCTPDBG(SCTP_DEBUG_INPUT2, "moving to OPEN state\n");
- SCTP_SET_STATE(asoc, SCTP_STATE_OPEN);
- if (asoc->state & SCTP_STATE_SHUTDOWN_PENDING) {
- sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
- stcb->sctp_ep, stcb, asoc->primary_destination);
- }
- sctp_stop_all_cookie_timers(stcb);
- SCTP_STAT_INCR_COUNTER32(sctps_passiveestab);
- SCTP_STAT_INCR_GAUGE32(sctps_currestab);
-
/*
* if we're doing ASCONFs, check to see if we have any new local
* addresses that need to get added to the peer (eg. addresses
@@ -2309,6 +2298,17 @@ sctp_process_cookie_new(struct mbuf *m, int iphlen, in
#endif
return (NULL);
}
+
+ /* update current state */
+ SCTPDBG(SCTP_DEBUG_INPUT2, "moving to OPEN state\n");
+ SCTP_SET_STATE(asoc, SCTP_STATE_OPEN);
+ if (asoc->state & SCTP_STATE_SHUTDOWN_PENDING) {
+ sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
+ stcb->sctp_ep, stcb, asoc->primary_destination);
+ }
+ sctp_stop_all_cookie_timers(stcb);
+ SCTP_STAT_INCR_COUNTER32(sctps_passiveestab);
+ SCTP_STAT_INCR_GAUGE32(sctps_currestab);
/* set up to notify upper layer */
*notification = SCTP_NOTIFY_ASSOC_UP;
More information about the svn-src-all
mailing list