linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / net / sctp / transport.c
index 2763aa9..160f62a 100644 (file)
@@ -49,7 +49,6 @@
  */
 
 #include <linux/types.h>
-#include <linux/random.h>
 #include <net/sctp/sctp.h>
 #include <net/sctp/sm.h>
 
@@ -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;
 }