[SCTP]: Fix bad sysctl formatting of SCTP timeout values on 64-bit m/cs.
Change all the structure members that hold jiffies to be of type unsigned long. This also corrects bad sysctl formating on 64 bit architectures. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
This commit is contained in:
parent
38b0e42aba
commit
8116ffad41
|
@ -127,9 +127,9 @@ extern struct sctp_globals {
|
|||
* RTO.Alpha - 1/8 (3 when converted to right shifts.)
|
||||
* RTO.Beta - 1/4 (2 when converted to right shifts.)
|
||||
*/
|
||||
__u32 rto_initial;
|
||||
__u32 rto_min;
|
||||
__u32 rto_max;
|
||||
unsigned long rto_initial;
|
||||
unsigned long rto_min;
|
||||
unsigned long rto_max;
|
||||
|
||||
/* Note: rto_alpha and rto_beta are really defined as inverse
|
||||
* powers of two to facilitate integer operations.
|
||||
|
@ -140,12 +140,18 @@ extern struct sctp_globals {
|
|||
/* Max.Burst - 4 */
|
||||
int max_burst;
|
||||
|
||||
/* Valid.Cookie.Life - 60 seconds */
|
||||
int valid_cookie_life;
|
||||
|
||||
/* Whether Cookie Preservative is enabled(1) or not(0) */
|
||||
int cookie_preserve_enable;
|
||||
|
||||
/* Valid.Cookie.Life - 60 seconds */
|
||||
unsigned long valid_cookie_life;
|
||||
|
||||
/* Delayed SACK timeout 200ms default*/
|
||||
unsigned long sack_timeout;
|
||||
|
||||
/* HB.interval - 30 seconds */
|
||||
unsigned long hb_interval;
|
||||
|
||||
/* Association.Max.Retrans - 10 attempts
|
||||
* Path.Max.Retrans - 5 attempts (per destination address)
|
||||
* Max.Init.Retransmits - 8 attempts
|
||||
|
@ -168,12 +174,6 @@ extern struct sctp_globals {
|
|||
*/
|
||||
int rcvbuf_policy;
|
||||
|
||||
/* Delayed SACK timeout 200ms default*/
|
||||
int sack_timeout;
|
||||
|
||||
/* HB.interval - 30 seconds */
|
||||
int hb_interval;
|
||||
|
||||
/* The following variables are implementation specific. */
|
||||
|
||||
/* Default initialization values to be applied to new associations. */
|
||||
|
@ -828,7 +828,7 @@ struct sctp_transport {
|
|||
__u32 rtt; /* This is the most recent RTT. */
|
||||
|
||||
/* RTO : The current retransmission timeout value. */
|
||||
__u32 rto;
|
||||
unsigned long rto;
|
||||
|
||||
/* RTTVAR : The current RTT variation. */
|
||||
__u32 rttvar;
|
||||
|
@ -878,22 +878,10 @@ struct sctp_transport {
|
|||
/* Heartbeat interval: The endpoint sends out a Heartbeat chunk to
|
||||
* the destination address every heartbeat interval.
|
||||
*/
|
||||
__u32 hbinterval;
|
||||
|
||||
/* This is the max_retrans value for the transport and will
|
||||
* be initialized from the assocs value. This can be changed
|
||||
* using SCTP_SET_PEER_ADDR_PARAMS socket option.
|
||||
*/
|
||||
__u16 pathmaxrxt;
|
||||
|
||||
/* PMTU : The current known path MTU. */
|
||||
__u32 pathmtu;
|
||||
unsigned long hbinterval;
|
||||
|
||||
/* SACK delay timeout */
|
||||
__u32 sackdelay;
|
||||
|
||||
/* Flags controling Heartbeat, SACK delay, and Path MTU Discovery. */
|
||||
__u32 param_flags;
|
||||
unsigned long sackdelay;
|
||||
|
||||
/* When was the last time (in jiffies) that we heard from this
|
||||
* transport? We use this to pick new active and retran paths.
|
||||
|
@ -905,6 +893,18 @@ struct sctp_transport {
|
|||
*/
|
||||
unsigned long last_time_ecne_reduced;
|
||||
|
||||
/* This is the max_retrans value for the transport and will
|
||||
* be initialized from the assocs value. This can be changed
|
||||
* using SCTP_SET_PEER_ADDR_PARAMS socket option.
|
||||
*/
|
||||
__u16 pathmaxrxt;
|
||||
|
||||
/* PMTU : The current known path MTU. */
|
||||
__u32 pathmtu;
|
||||
|
||||
/* Flags controling Heartbeat, SACK delay, and Path MTU Discovery. */
|
||||
__u32 param_flags;
|
||||
|
||||
/* The number of times INIT has been sent on this transport. */
|
||||
int init_sent_count;
|
||||
|
||||
|
@ -1500,9 +1500,9 @@ struct sctp_association {
|
|||
* These values will be initialized by system defaults, but can
|
||||
* be modified via the SCTP_RTOINFO socket option.
|
||||
*/
|
||||
__u32 rto_initial;
|
||||
__u32 rto_max;
|
||||
__u32 rto_min;
|
||||
unsigned long rto_initial;
|
||||
unsigned long rto_max;
|
||||
unsigned long rto_min;
|
||||
|
||||
/* Maximum number of new data packets that can be sent in a burst. */
|
||||
int max_burst;
|
||||
|
@ -1520,13 +1520,13 @@ struct sctp_association {
|
|||
__u16 init_retries;
|
||||
|
||||
/* The largest timeout or RTO value to use in attempting an INIT */
|
||||
__u16 max_init_timeo;
|
||||
unsigned long max_init_timeo;
|
||||
|
||||
/* Heartbeat interval: The endpoint sends out a Heartbeat chunk to
|
||||
* the destination address every heartbeat interval. This value
|
||||
* will be inherited by all new transports.
|
||||
*/
|
||||
__u32 hbinterval;
|
||||
unsigned long hbinterval;
|
||||
|
||||
/* This is the max_retrans value for new transports in the
|
||||
* association.
|
||||
|
@ -1538,13 +1538,14 @@ struct sctp_association {
|
|||
*/
|
||||
__u32 pathmtu;
|
||||
|
||||
/* SACK delay timeout */
|
||||
__u32 sackdelay;
|
||||
|
||||
/* Flags controling Heartbeat, SACK delay, and Path MTU Discovery. */
|
||||
__u32 param_flags;
|
||||
|
||||
int timeouts[SCTP_NUM_TIMEOUT_TYPES];
|
||||
/* SACK delay timeout */
|
||||
unsigned long sackdelay;
|
||||
|
||||
|
||||
unsigned long timeouts[SCTP_NUM_TIMEOUT_TYPES];
|
||||
struct timer_list timers[SCTP_NUM_TIMEOUT_TYPES];
|
||||
|
||||
/* Transport to which SHUTDOWN chunk was last sent. */
|
||||
|
@ -1649,7 +1650,10 @@ struct sctp_association {
|
|||
/* How many duplicated TSNs have we seen? */
|
||||
int numduptsns;
|
||||
|
||||
/* Number of seconds of idle time before an association is closed. */
|
||||
/* Number of seconds of idle time before an association is closed.
|
||||
* In the association context, this is really used as a boolean
|
||||
* since the real timeout is stored in the timeouts array
|
||||
*/
|
||||
__u32 autoclose;
|
||||
|
||||
/* These are to support
|
||||
|
|
|
@ -1300,7 +1300,7 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|||
"T1 INIT Timeout adjustment"
|
||||
" init_err_counter: %d"
|
||||
" cycle: %d"
|
||||
" timeout: %d\n",
|
||||
" timeout: %ld\n",
|
||||
asoc->init_err_counter,
|
||||
asoc->init_cycle,
|
||||
asoc->timeouts[SCTP_EVENT_TIMEOUT_T1_INIT]);
|
||||
|
@ -1328,7 +1328,7 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|||
SCTP_DEBUG_PRINTK(
|
||||
"T1 COOKIE Timeout adjustment"
|
||||
" init_err_counter: %d"
|
||||
" timeout: %d\n",
|
||||
" timeout: %ld\n",
|
||||
asoc->init_err_counter,
|
||||
asoc->timeouts[SCTP_EVENT_TIMEOUT_T1_COOKIE]);
|
||||
|
||||
|
|
|
@ -2995,7 +2995,7 @@ SCTP_STATIC int sctp_init_sock(struct sock *sk)
|
|||
sp->hbinterval = jiffies_to_msecs(sctp_hb_interval);
|
||||
sp->pathmaxrxt = sctp_max_retrans_path;
|
||||
sp->pathmtu = 0; // allow default discovery
|
||||
sp->sackdelay = sctp_sack_timeout;
|
||||
sp->sackdelay = jiffies_to_msecs(sctp_sack_timeout);
|
||||
sp->param_flags = SPP_HB_ENABLE |
|
||||
SPP_PMTUD_ENABLE |
|
||||
SPP_SACKDELAY_ENABLE;
|
||||
|
|
|
@ -159,12 +159,9 @@ static ctl_table sctp_table[] = {
|
|||
.ctl_name = NET_SCTP_PRESERVE_ENABLE,
|
||||
.procname = "cookie_preserve_enable",
|
||||
.data = &sctp_cookie_preserve_enable,
|
||||
.maxlen = sizeof(long),
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = &proc_doulongvec_ms_jiffies_minmax,
|
||||
.strategy = &sctp_sysctl_jiffies_ms,
|
||||
.extra1 = &rto_timer_min,
|
||||
.extra2 = &rto_timer_max
|
||||
.proc_handler = &proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_SCTP_RTO_ALPHA,
|
||||
|
|
|
@ -350,7 +350,7 @@ void sctp_transport_update_rto(struct sctp_transport *tp, __u32 rtt)
|
|||
tp->rto_pending = 0;
|
||||
|
||||
SCTP_DEBUG_PRINTK("%s: transport: %p, rtt: %d, srtt: %d "
|
||||
"rttvar: %d, rto: %d\n", __FUNCTION__,
|
||||
"rttvar: %d, rto: %ld\n", __FUNCTION__,
|
||||
tp, rtt, tp->srtt, tp->rttvar, tp->rto);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user