X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fsctp%2Ftransport.c;h=160f62ad1cc55f924e7fc591e7df3a7259f5376a;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=2763aa93de1af40ced0919b8656e47ae54c1891c;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/net/sctp/transport.c b/net/sctp/transport.c index 2763aa93d..160f62ad1 100644 --- a/net/sctp/transport.c +++ b/net/sctp/transport.c @@ -49,7 +49,6 @@ */ #include -#include #include #include @@ -86,6 +85,7 @@ static struct sctp_transport *sctp_transport_init(struct sctp_transport *peer, peer->init_sent_count = 0; + peer->state = SCTP_ACTIVE; peer->param_flags = SPP_HB_DISABLE | SPP_PMTUD_ENABLE | SPP_SACKDELAY_ENABLE; @@ -109,9 +109,6 @@ static struct sctp_transport *sctp_transport_init(struct sctp_transport *peer, peer->hb_timer.function = sctp_generate_heartbeat_event; peer->hb_timer.data = (unsigned long)peer; - /* Initialize the 64-bit random nonce sent with heartbeat. */ - get_random_bytes(&peer->hb_nonce, sizeof(peer->hb_nonce)); - atomic_set(&peer->refcnt, 1); peer->dead = 0; @@ -520,9 +517,7 @@ void sctp_transport_lower_cwnd(struct sctp_transport *transport, unsigned long sctp_transport_timeout(struct sctp_transport *t) { unsigned long timeout; - timeout = t->rto + sctp_jitter(t->rto); - if (t->state != SCTP_UNCONFIRMED) - timeout += t->hbinterval; + timeout = t->hbinterval + t->rto + sctp_jitter(t->rto); timeout += jiffies; return timeout; }