Good catch!

On 12/10/18 12:08 PM, Hoang Le wrote:
> When sending broadcast message on high load system, there are a lot of
> unnecessary packets restranmission. That issue was caused by missing in
> initial criteria for retransmission.
> 
> To prevent this happen, just initialize this criteria for retransmission
> in next 10 milliseconds.
> 
> Fixes: 31c4f4cc32f7 tipc: improve broadcast retransmission algorithm
> Acked-by: Jon Maloy <jon.ma...@ericsson.com>
> Signed-off-by: Hoang Le <hoang.h...@dektech.com.au>

Acked-by: Ying Xue <ying....@windriver.com>

> ---
>  net/tipc/link.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/net/tipc/link.c b/net/tipc/link.c
> index 9e265eb89726..6ffa43819727 100644
> --- a/net/tipc/link.c
> +++ b/net/tipc/link.c
> @@ -945,6 +945,10 @@ int tipc_link_xmit(struct tipc_link *l, struct 
> sk_buff_head *list,
>                       }
>                       __skb_dequeue(list);
>                       __skb_queue_tail(transmq, skb);
> +                     /* next retransmit attempt */
> +                     if (link_is_bc_sndlink(l))
> +                             TIPC_SKB_CB(skb)->nxt_retr =
> +                                     jiffies + TIPC_BC_RETR_LIM;
>                       __skb_queue_tail(xmitq, _skb);
>                       TIPC_SKB_CB(skb)->ackers = l->ackers;
>                       l->rcv_unacked = 0;
> @@ -992,6 +996,9 @@ static void tipc_link_advance_backlog(struct tipc_link *l,
>               hdr = buf_msg(skb);
>               l->backlog[msg_importance(hdr)].len--;
>               __skb_queue_tail(&l->transmq, skb);
> +             /* next retransmit attempt */
> +             if (link_is_bc_sndlink(l))
> +                     TIPC_SKB_CB(skb)->nxt_retr = jiffies + TIPC_BC_RETR_LIM;
>               __skb_queue_tail(xmitq, _skb);
>               TIPC_SKB_CB(skb)->ackers = l->ackers;
>               msg_set_seqno(hdr, seqno);
> 


_______________________________________________
tipc-discussion mailing list
tipc-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to