summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2010-12-12 20:50:44 +0000
committertuexen <tuexen@FreeBSD.org>2010-12-12 20:50:44 +0000
commit2457b51af4ab096fb3df2accffda5f1d9ec6e3f2 (patch)
tree2c280ac118f42a9453b31e9445c6ed083c1a2af8
parent955b676ba91cca69109686ba31ce1c9fa134bbaf (diff)
downloadFreeBSD-src-2457b51af4ab096fb3df2accffda5f1d9ec6e3f2.zip
FreeBSD-src-2457b51af4ab096fb3df2accffda5f1d9ec6e3f2.tar.gz
Bugfix: Do correct accounting using the MIB counters when an
association is aborted via sctp_abort_association(). MFC after: 3 days.
-rw-r--r--sys/netinet/sctputil.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c
index 707d05c..975acb8 100644
--- a/sys/netinet/sctputil.c
+++ b/sys/netinet/sctputil.c
@@ -3847,6 +3847,11 @@ sctp_abort_association(struct sctp_inpcb *inp, struct sctp_tcb *stcb,
SCTP_TCB_LOCK(stcb);
atomic_subtract_int(&stcb->asoc.refcnt, 1);
#endif
+ SCTP_STAT_INCR_COUNTER32(sctps_aborted);
+ if ((SCTP_GET_STATE(&stcb->asoc) == SCTP_STATE_OPEN) ||
+ (SCTP_GET_STATE(&stcb->asoc) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
+ SCTP_STAT_DECR_GAUGE32(sctps_currestab);
+ }
(void)sctp_free_assoc(inp, stcb, SCTP_NORMAL_PROC, SCTP_FROM_SCTPUTIL + SCTP_LOC_4);
#if defined (__APPLE__) || defined(SCTP_SO_LOCK_TESTING)
SCTP_SOCKET_UNLOCK(so, 1);
OpenPOWER on IntegriCloud