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