]> git.baikalelectronics.ru Git - kernel.git/commit
tipc: eliminate the dummy packet in link synching
authorTuong Lien <tuong.t.lien@dektech.com.au>
Wed, 6 Nov 2019 11:12:17 +0000 (18:12 +0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 7 Nov 2019 05:16:02 +0000 (21:16 -0800)
commita248bdf2cdc7ea1939618b5752e3a6ac797c9750
tree283dc94d8d8a0eb028e26bf62445637c63c1f47e
parent53ea09de280531cef90dd70694895030006709ce
tipc: eliminate the dummy packet in link synching

When preparing tunnel packets for the link failover or synchronization,
as for the safe algorithm, we added a dummy packet on the pair link but
never sent it out. In the case of failover, the pair link will be reset
anyway. But for link synching, it will always result in retransmission
of the dummy packet after that.
We have also observed that such the retransmission at the early stage
when a new node comes in a large cluster will take some time and hard
to be done, leading to the repeated retransmit failures and the link is
reset.

Since in commit 85a67475b5d1 ("tipc: optimize link synching mechanism")
we have already built a dummy 'TUNNEL_PROTOCOL' message on the new link
for the synchronization, there's no need for the dummy on the pair one,
this commit will skip it when the new mechanism takes in place. In case
nothing exists in the pair link's transmq, the link synching will just
start and stop shortly on the peer side.

The patch is backward compatible.

Acked-by: Jon Maloy <jon.maloy@ericsson.com>
Tested-by: Hoang Le <hoang.h.le@dektech.com.au>
Signed-off-by: Tuong Lien <tuong.t.lien@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/link.c