Commit:     e533ca16f31f9e5abfaf5d8c7dbe7095f01474b6
Parent:     29556526b970c2e7d4ca808b6082c33981adfdff
Author:     Vlad Yasevich <[EMAIL PROTECTED]>
AuthorDate: Tue Jan 30 14:36:14 2007 -0800
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Tue Jan 30 14:36:14 2007 -0800

    [SCTP]: Force update of the rto when processing HB-ACK
    When processing a HEARTBEAT-ACK it's possible that the transport rto
    timers will not be updated because a prior T3-RTX processing would
    have cleared the rto_pending flag on the transport.  However, if
    we received a valid HEARTBEAT-ACK, we want to force update the
    rto variables, so re-set the rto_pending flag before calling
    Signed-off-by: Vlad Yasevich <[EMAIL PROTECTED]>
    Signed-off-by: Sridhar Samudrala <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
 net/sctp/sm_sideeffect.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/net/sctp/sm_sideeffect.c b/net/sctp/sm_sideeffect.c
index 8bd3097..6db77d1 100644
--- a/net/sctp/sm_sideeffect.c
+++ b/net/sctp/sm_sideeffect.c
@@ -621,7 +621,13 @@ static void sctp_cmd_transport_on(sctp_cmd_seq_t *cmds,
        /* The receiver of the HEARTBEAT ACK should also perform an
         * RTT measurement for that destination transport address
         * using the time value carried in the HEARTBEAT ACK chunk.
+        * If the transport's rto_pending variable has been cleared,
+        * it was most likely due to a retransmit.  However, we want
+        * to re-enable it to properly update the rto.
+       if (t->rto_pending == 0)
+               t->rto_pending = 1;
        hbinfo = (sctp_sender_hb_info_t *) chunk->skb->data;
        sctp_transport_update_rto(t, (jiffies - hbinfo->sent_at));
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to