Use 5 times RTO.Max as the default for the shutdown guard timer
as required by RFC 4960. The sysctl variable can be used to overwrite this. Discussed with: rrs MFC after: 1 week
This commit is contained in:
parent
7278725be5
commit
2e2d67945a
@ -612,10 +612,6 @@ __FBSDID("$FreeBSD$");
|
||||
/* 30 seconds + RTO (in ms) */
|
||||
#define SCTP_HB_DEFAULT_MSEC 30000
|
||||
|
||||
/* Max time I will wait for Shutdown to complete */
|
||||
#define SCTP_DEF_MAX_SHUTDOWN_SEC 180
|
||||
|
||||
|
||||
/*
|
||||
* This is how long a secret lives, NOT how long a cookie lives how many
|
||||
* ticks the current secret will live.
|
||||
|
@ -291,10 +291,10 @@ struct sctp_sysctl {
|
||||
#define SCTPCTL_PMTU_RAISE_TIME_DEFAULT SCTP_DEF_PMTU_RAISE_SEC
|
||||
|
||||
/* shutdown_guard_time: Default shutdown guard timer in seconds */
|
||||
#define SCTPCTL_SHUTDOWN_GUARD_TIME_DESC "Default shutdown guard timer in seconds"
|
||||
#define SCTPCTL_SHUTDOWN_GUARD_TIME_DESC "Shutdown guard timer in seconds (0 means 5 times RTO.Max)"
|
||||
#define SCTPCTL_SHUTDOWN_GUARD_TIME_MIN 0
|
||||
#define SCTPCTL_SHUTDOWN_GUARD_TIME_MAX 0xFFFFFFFF
|
||||
#define SCTPCTL_SHUTDOWN_GUARD_TIME_DEFAULT SCTP_DEF_MAX_SHUTDOWN_SEC
|
||||
#define SCTPCTL_SHUTDOWN_GUARD_TIME_DEFAULT 0
|
||||
|
||||
/* secret_lifetime: Default secret lifetime in seconds */
|
||||
#define SCTPCTL_SECRET_LIFETIME_DESC "Default secret lifetime in seconds"
|
||||
|
@ -2123,7 +2123,11 @@ sctp_timer_start(int t_type, struct sctp_inpcb *inp, struct sctp_tcb *stcb,
|
||||
if (stcb == NULL) {
|
||||
return;
|
||||
}
|
||||
to_ticks = inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_MAXSHUTDOWN];
|
||||
if (inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_MAXSHUTDOWN] == 0) {
|
||||
to_ticks = 5 * MSEC_TO_TICKS(stcb->asoc.maxrto);
|
||||
} else {
|
||||
to_ticks = inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_MAXSHUTDOWN];
|
||||
}
|
||||
tmr = &stcb->asoc.shut_guard_timer;
|
||||
break;
|
||||
case SCTP_TIMER_TYPE_STRRESET:
|
||||
|
Loading…
Reference in New Issue
Block a user