tipc: interrupt link synchronization when a link goes down
authorJon Paul Maloy <jon.maloy@ericsson.com>
Thu, 20 Aug 2015 06:12:55 +0000 (02:12 -0400)
committerDavid S. Miller <davem@davemloft.net>
Sun, 23 Aug 2015 23:14:45 +0000 (16:14 -0700)
commit5ae2f8e6857968d6dddbd3879ed0a32b860e02d1
treee46e980ddb0ff5c3129981aa817e17c4a4006426
parent17b2063077a7478e5fd3c34b04a059dbb8474638
tipc: interrupt link synchronization when a link goes down

When we introduced the new link failover/synch mechanism
in commit 6e498158a827fd515b514842e9a06bdf0f75ab86
("tipc: move link synch and failover to link aggregation level"),
we missed the case when the non-tunnel link goes down during the link
synchronization period. In this case the tunnel link will remain in
state LINK_SYNCHING, something leading to unpredictable behavior when
the failover procedure is initiated.

In this commit, we ensure that the node and remaining link goes
back to regular communication state (SELF_UP_PEER_UP/LINK_ESTABLISHED)
when one of the parallel links goes down. We also ensure that we don't
re-enter synch mode if subsequent SYNCH packets arrive on the remaining
link.

Reviewed-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/link.c
net/tipc/node.c