Move to open state after plausibility checks.
When doing this too early, the MIB counters go wrong. MFC after: 1 week
This commit is contained in:
parent
fe715b8090
commit
1698cbd919
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=320653
@ -2252,17 +2252,6 @@ sctp_process_cookie_new(struct mbuf *m, int iphlen, int offset,
|
||||
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
|
||||
@ -2310,6 +2299,17 @@ sctp_process_cookie_new(struct mbuf *m, int iphlen, int offset,
|
||||
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;
|
||||
if (((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
|
||||
|
Loading…
Reference in New Issue
Block a user