Acked-by: Jon Maloy <[email protected]>

Remember to mark this one as 'net' and not 'net-next' when you post it.


> -----Original Message-----
> From: Hoang Le <[email protected]>
> Sent: 16-Jul-19 03:26
> To: Jon Maloy <[email protected]>; [email protected];
> [email protected]; [email protected]
> Subject: [net-next] tipc: fix retransmission failure when link re-established
> 
> Currently a link is declared stale and reset if stale limit time is longer 
> than link
> tolerance time. But, this stale limit does not initial correctly when the 
> link is
> resetting. This lead to a link declared as failure because reset criteria 
> always
> passed though no packet re-transmitted when link is re-establishing.
> 
> To fix this, we set stale limit time far into the future in two places:
> reset a link and acked from peer.
> 
> Fixes: 77cf8edbc0e7 ("tipc: simplify stale link failure criteria")
> Signed-off-by: Hoang Le <[email protected]>
> ---
>  net/tipc/link.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/net/tipc/link.c b/net/tipc/link.c index
> 66d3a07bc571..2ba79d451f08 100644
> --- a/net/tipc/link.c
> +++ b/net/tipc/link.c
> @@ -909,6 +909,7 @@ void tipc_link_reset(struct tipc_link *l)
>       l->silent_intv_cnt = 0;
>       l->rst_cnt = 0;
>       l->bc_peer_is_up = false;
> +     l->stale_limit = msecs_to_jiffies(~0);
>       memset(&l->mon_state, 0, sizeof(l->mon_state));
>       tipc_link_reset_stats(l);
>  }
> @@ -1510,6 +1511,7 @@ int tipc_link_rcv(struct tipc_link *l, struct sk_buff
> *skb,
> 
>               /* Forward queues and wake up waiting users */
>               if (likely(tipc_link_release_pkts(l, msg_ack(hdr)))) {
> +                     l->stale_limit = msecs_to_jiffies(~0);
>                       tipc_link_advance_backlog(l, xmitq);
>                       if (unlikely(!skb_queue_empty(&l->wakeupq)))
>                               link_prepare_wakeup(l);
> --
> 2.17.1



_______________________________________________
tipc-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to