]> git.baikalelectronics.ru Git - kernel.git/commit
sctp: Fix the RTO-doubling on idle-link heartbeats
authorVlad Yasevich <vladislav.yasevich@hp.com>
Fri, 13 Feb 2009 08:33:43 +0000 (08:33 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 16 Feb 2009 08:03:10 +0000 (00:03 -0800)
commit1a77344696c1d66d0dc9ba8ae01563474db6f3f8
tree6a95e8f91087cd3d584fc89f9bc06355d371d82a
parent60f020f4e88688166bdec027168cb5e79e8152cc
sctp: Fix the RTO-doubling on idle-link heartbeats

SCTP incorrectly doubles rto ever time a Hearbeat chunk
is generated.   However RFC 4960 states:

   On an idle destination address that is allowed to heartbeat, it is
   recommended that a HEARTBEAT chunk is sent once per RTO of that
   destination address plus the protocol parameter 'HB.interval', with
   jittering of +/- 50% of the RTO value, and exponential backoff of the
   RTO if the previous HEARTBEAT is unanswered.

Essentially, of if the heartbean is unacknowledged, do we double the RTO.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/structs.h
net/sctp/sm_sideeffect.c
net/sctp/transport.c