diff options
author | rrs <rrs@FreeBSD.org> | 2007-06-13 01:31:53 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2007-06-13 01:31:53 +0000 |
commit | 20ad8ecfb0af809f13b9dc6e5ab994548e0d785c (patch) | |
tree | 8d5bbe40650c2eb2f33e58ff8a55f66ae96d6c38 /sys/netinet/sctputil.c | |
parent | ec70de06d657f80cf4eaa0dee9fa7938ca45ac46 (diff) | |
download | FreeBSD-src-20ad8ecfb0af809f13b9dc6e5ab994548e0d785c.zip FreeBSD-src-20ad8ecfb0af809f13b9dc6e5ab994548e0d785c.tar.gz |
- Fixed cookie handling to calc an RTO when
its an INIT collision case.
- Fixed RTO calc to maintain a seperate variable to track
if a RTO calc as been done, this allows the RTO var to be
doubled during initial timeouts.
- Reduces the amount of stack used by process control.
- Use a constant for the peer chunk overhead.
- Name change to spell candidate correctly.
Diffstat (limited to 'sys/netinet/sctputil.c')
-rw-r--r-- | sys/netinet/sctputil.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c index fb2e1ad..b2f9f99 100644 --- a/sys/netinet/sctputil.c +++ b/sys/netinet/sctputil.c @@ -2576,7 +2576,7 @@ sctp_calculate_rto(struct sctp_tcb *stcb, /***************************/ o_calctime = calc_time; /* this is Van Jacobson's integer version */ - if (net->RTO) { + if (net->RTO_measured) { calc_time -= (net->lastsa >> SCTP_RTT_SHIFT); /* take away 1/8th when * shift=3 */ #ifdef SCTP_RTTVAR_LOGGING @@ -2596,6 +2596,7 @@ sctp_calculate_rto(struct sctp_tcb *stcb, } } else { /* First RTO measurment */ + net->RTO_measured = 1; net->lastsa = calc_time << SCTP_RTT_SHIFT; /* Multiply by 8 when * shift=3 */ net->lastsv = calc_time; |