When lost messages are retransmitted, they also carry ACK.
So, l->rcv_unacked needs to be reset.

Fixes: 9195948fbf34 ("tipc: improve TIPC throughput by Gap ACK blocks")
Signed-off-by: Tung Nguyen <tung.q.ngu...@dektech.com.au>
---
 net/tipc/link.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/tipc/link.c b/net/tipc/link.c
index fb72031..7660e5a 100644
--- a/net/tipc/link.c
+++ b/net/tipc/link.c
@@ -1448,6 +1448,7 @@ static int tipc_link_advance_transmq(struct tipc_link *l, 
u16 acked, u16 gap,
                        msg_set_bcast_ack(hdr, bc_ack);
                        _skb->priority = TC_PRIO_CONTROL;
                        __skb_queue_tail(xmitq, _skb);
+                       l->rcv_unacked = 0;
                        l->stats.retransmitted++;
 
                        /* Increase actual retrans counter & mark first time */
-- 
2.1.4



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

Reply via email to