Centos-kernel-stream-9/net/tipc
Jon Paul Maloy 7d24dcdb3f tipc: avoid stale link after aborted failover
During link failover it may happen that the remaining link goes
down while it is still in the process of taking over traffic
from a previously failed link. When this happens, we currently
abort the failover procedure and reset the first failed link to
non-failover mode, so that it will be ready to re-establish
contact with its peer when it comes available.

However, if the first link goes down because its bearer was manually
disabled, it is not enough to reset it; it must also be deleted;
which is supposed to happen when the failover procedure is finished.
Otherwise it will remain a zombie link: attached to the owner node
structure, in mode LINK_STOPPED, and permanently blocking any re-
establishing of the link to the peer via the interface in question.

We fix this by amending the failover abort procedure. Apart from
resetting the link to non-failover state, we test if the link is
also in LINK_STOPPED mode. If so, we delete it, using the conditional
tipc_link_delete() function introduced in the previous commit.

Reviewed-by: Erik Hugne <erik.hugne@ericsson.com>
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>
2015-02-04 16:09:31 -08:00
..
Kconfig
Makefile
addr.c
addr.h
bcast.c
bcast.h
bearer.c
bearer.h
config.c
config.h
core.c
core.h
discover.c
discover.h
eth_media.c
ib_media.c
link.c
link.h tipc: avoid stale link after aborted failover 2015-02-04 16:09:31 -08:00
log.c
msg.c
msg.h
name_distr.c
name_distr.h
name_table.c
name_table.h
net.c
net.h
netlink.c
netlink.h
node.c tipc: avoid stale link after aborted failover 2015-02-04 16:09:31 -08:00
node.h
server.c
server.h
socket.c
socket.h
subscr.c
subscr.h
sysctl.c