• Jon Paul Maloy's avatar
    tipc: simplify link supervision checkpointing · cd4eee3c
    Jon Paul Maloy authored
    We change the sequence number checkpointing that is performed
    by the timer in order to discover if the peer is active. Currently,
    we store a checkpoint of the next expected sequence number "rcv_nxt"
    at each timer expiration, and compare it to the current expected
    number at next timeout expiration. Instead, we now use the already
    existing field "silent_intv_cnt" for this task. We step the counter
    at each timeout expiration, and zero it at each valid received packet.
    If no valid packet has been received from the peer after "abort_limit"
    number of silent timer intervals, the link is declared faulty and reset.
    
    We also remove the multiple instances of timer activation from inside
    the FSM function "link_state_event()", and now do it at only one place;
    at the end of the timer function itself.
    Reviewed-by: default avatarErik Hugne <erik.hugne@ericsson.com>
    Reviewed-by: default avatarYing Xue <ying.xue@windriver.com>
    Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    cd4eee3c
link.c 59 KB