diff options
author | kcpoon <none@none> | 2006-04-03 08:39:23 -0700 |
---|---|---|
committer | kcpoon <none@none> | 2006-04-03 08:39:23 -0700 |
commit | 77c67f2fb257d2c7dfa00389cd9cd7dd5f99a920 (patch) | |
tree | 1fa7d0b8b60d15b82a94bbf6df1184340579e0fb /usr/src/uts/common/inet/sctp/sctp_timer.c | |
parent | c1f59b3e192a9ce59524803c113b1f4ee13cd600 (diff) | |
download | illumos-gate-77c67f2fb257d2c7dfa00389cd9cd7dd5f99a920.tar.gz |
6361241 SCTP retransmission timeout handling is suboptimal
6401917 panic while opening sctp connection
Diffstat (limited to 'usr/src/uts/common/inet/sctp/sctp_timer.c')
-rw-r--r-- | usr/src/uts/common/inet/sctp/sctp_timer.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/usr/src/uts/common/inet/sctp/sctp_timer.c b/usr/src/uts/common/inet/sctp/sctp_timer.c index 0b2ae2a7fe..fb19313897 100644 --- a/usr/src/uts/common/inet/sctp/sctp_timer.c +++ b/usr/src/uts/common/inet/sctp/sctp_timer.c @@ -18,6 +18,7 @@ * * CDDL HEADER END */ + /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. @@ -166,6 +167,7 @@ sctp_timer_alloc(sctp_t *sctp, pfv_t func) sctpt->sctpt_pfv = func; return (mp); } + SCTP_KSTAT(sctp_add_timer); return (NULL); } @@ -578,7 +580,8 @@ sctp_rexmit_timer(sctp_t *sctp, sctp_faddr_t *fp) case SCTPS_SHUTDOWN_PENDING: case SCTPS_SHUTDOWN_RECEIVED: if (sctp->sctp_state == SCTPS_SHUTDOWN_RECEIVED) { - (void) sctp_shutdown_received(sctp, NULL, 0, 1); + (void) sctp_shutdown_received(sctp, NULL, B_FALSE, + B_TRUE, NULL); } if (sctp->sctp_xmit_head == NULL && @@ -645,7 +648,8 @@ rxmit_init: ASSERT(sctp->sctp_xmit_unsent == NULL); BUMP_LOCAL(sctp->sctp_T2expire); - (void) sctp_shutdown_received(sctp, NULL, 0, 1); + (void) sctp_shutdown_received(sctp, NULL, B_FALSE, B_TRUE, + NULL); BUMP_MIB(&sctp_mib, sctpTimRetrans); break; default: |