aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/netinet/sctp_pcb.h10
-rw-r--r--sys/netinet/sctp_structs.h2
-rw-r--r--sys/netinet/sctp_timer.c11
3 files changed, 11 insertions, 12 deletions
diff --git a/sys/netinet/sctp_pcb.h b/sys/netinet/sctp_pcb.h
index f037e8472976..7aa1be67d8fd 100644
--- a/sys/netinet/sctp_pcb.h
+++ b/sys/netinet/sctp_pcb.h
@@ -273,11 +273,11 @@ struct sctp_pcb {
uint32_t secret_key[SCTP_HOW_MANY_SECRETS][SCTP_NUMBER_OF_SECRETS];
unsigned int size_of_a_cookie;
- unsigned int sctp_timeoutticks[SCTP_NUM_TMRS];
- unsigned int sctp_minrto;
- unsigned int sctp_maxrto;
- unsigned int initial_rto;
- int initial_init_rto_max;
+ uint32_t sctp_timeoutticks[SCTP_NUM_TMRS];
+ uint32_t sctp_minrto;
+ uint32_t sctp_maxrto;
+ uint32_t initial_rto;
+ uint32_t initial_init_rto_max;
unsigned int sctp_sack_freq;
uint32_t sctp_sws_sender;
diff --git a/sys/netinet/sctp_structs.h b/sys/netinet/sctp_structs.h
index dd18fa44bf10..34170eacfc53 100644
--- a/sys/netinet/sctp_structs.h
+++ b/sys/netinet/sctp_structs.h
@@ -1062,7 +1062,7 @@ struct sctp_association {
uint32_t heart_beat_delay;
/* autoclose */
- unsigned int sctp_autoclose_ticks;
+ uint32_t sctp_autoclose_ticks;
/* how many preopen streams we have */
unsigned int pre_open_streams;
diff --git a/sys/netinet/sctp_timer.c b/sys/netinet/sctp_timer.c
index d5632fdc6f39..ed59697bafb3 100644
--- a/sys/netinet/sctp_timer.c
+++ b/sys/netinet/sctp_timer.c
@@ -1524,10 +1524,10 @@ sctp_autoclose_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb)
{
struct timeval tn, *tim_touse;
struct sctp_association *asoc;
- int ticks_gone_by;
+ uint32_t ticks_gone_by;
(void)SCTP_GETTIME_TIMEVAL(&tn);
- if (stcb->asoc.sctp_autoclose_ticks &&
+ if (stcb->asoc.sctp_autoclose_ticks > 0 &&
sctp_is_feature_on(inp, SCTP_PCB_FLAGS_AUTOCLOSE)) {
/* Auto close is on */
asoc = &stcb->asoc;
@@ -1539,9 +1539,8 @@ sctp_autoclose_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb)
tim_touse = &asoc->time_last_sent;
}
/* Now has long enough transpired to autoclose? */
- ticks_gone_by = SEC_TO_TICKS(tn.tv_sec - tim_touse->tv_sec);
- if ((ticks_gone_by > 0) &&
- (ticks_gone_by >= (int)asoc->sctp_autoclose_ticks)) {
+ ticks_gone_by = SEC_TO_TICKS((uint32_t)(tn.tv_sec - tim_touse->tv_sec));
+ if (ticks_gone_by >= asoc->sctp_autoclose_ticks) {
/*
* autoclose time has hit, call the output routine,
* which should do nothing just to be SURE we don't
@@ -1584,7 +1583,7 @@ sctp_autoclose_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb)
* No auto close at this time, reset t-o to check
* later
*/
- int tmp;
+ uint32_t tmp;
/* fool the timer startup to use the time left */
tmp = asoc->sctp_autoclose_ticks;