linux/net/tipc
Allan Stephens 9349931371 tipc: Ensure broadcast link re-acquires node after link failure
Fix a bug that can prevent TIPC from sending broadcast messages to a node
if contact with the node is lost and then regained. The problem occurs if
the broadcast link first clears the flag indicating the node is part of the
link's distribution set (when it loses contact with the node), and later
fails to restore the flag (when contact is regained); restoration fails
if contact with the node is regained by implicit unicast link activation
triggered by the arrival of a data message, rather than explicitly by the
arrival of a link activation message.

The broadcast link now uses separate fields to track whether a node is
theoretically capable of receiving broadcast messages versus whether it is
actually part of the link's distribution set. The former member is updated
by the receipt of link protocol messages, which can occur at any time; the
latter member is updated only when contact with the node is gained or lost.
This change also permits the simplification of several conditional
expressions since the broadcast link's "supported" field can now only be
set if there are working links to the associated node.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2012-02-06 16:59:16 -05:00
..
addr.c tipc: Eliminate configuration for maximum number of cluster nodes 2011-03-13 16:35:17 -04:00
addr.h tipc: make zone/cluster mask constants a define 2011-05-10 16:03:54 -04:00
bcast.c tipc: rename struct link* to struct tipc_link* 2011-12-29 21:53:30 -05:00
bcast.h tipc: rename struct port_list to struct tipc_port_list 2011-12-29 21:53:29 -05:00
bearer.c tipc: rename struct bearer_name to struct tipc_bearer_names 2011-12-29 21:53:30 -05:00
bearer.h tipc: rename struct bearer_name to struct tipc_bearer_names 2011-12-29 21:53:30 -05:00
config.c tipc: Revise comment justifying release of configuration spinlock 2011-12-27 11:33:40 -05:00
config.h tipc: Remove unused link event tracking code 2011-09-17 22:55:15 -04:00
core.c tipc: Minor optimization to deactivation of Ethernet media suppot 2011-12-27 11:33:41 -05:00
core.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
discover.c tipc: rename struct link* to struct tipc_link* 2011-12-29 21:53:30 -05:00
discover.h tipc: rename struct link* to struct tipc_link* 2011-12-29 21:53:30 -05:00
eth_media.c tipc: rename struct media to struct tipc_media 2011-12-29 21:53:29 -05:00
handler.c tipc: remove zeroing assignments to static global variables 2011-01-01 13:57:57 -08:00
Kconfig tipc: Eliminate configuration for maximum number of cluster nodes 2011-03-13 16:35:17 -04:00
link.c tipc: Ensure broadcast link re-acquires node after link failure 2012-02-06 16:59:16 -05:00
link.h tipc: rename struct link* to struct tipc_link* 2011-12-29 21:53:30 -05:00
log.c tipc: Finish streamlining of debugging code 2011-01-01 13:57:54 -08:00
log.h tipc: update log.h re-include protection to reflect new name 2011-01-01 14:56:18 -08:00
Makefile tipc: rename dbg.[ch] to log.[ch] 2011-01-01 13:57:51 -08:00
msg.c tipc: Hide media-specific addressing details from generic bearer code 2011-12-27 11:33:36 -05:00
msg.h tipc: Hide media-specific addressing details from generic bearer code 2011-12-27 11:33:36 -05:00
name_distr.c tipc: rename struct link* to struct tipc_link* 2011-12-29 21:53:30 -05:00
name_distr.h
name_table.c tipc: rename struct subscription to struct tipc_subscription 2011-12-29 21:53:29 -05:00
name_table.h tipc: rename struct subscription to struct tipc_subscription 2011-12-29 21:53:29 -05:00
net.c tipc: Eliminate dynamic allocation of broadcast link data structures 2011-12-27 11:33:47 -05:00
net.h tipc: manually inline net_start/stop, make assoc. vars static 2011-03-13 16:35:17 -04:00
netlink.c
node_subscr.c tipc: Cosmetic changes to node subscription code 2011-03-13 16:35:16 -04:00
node_subscr.h tipc: Cosmetic changes to node subscription code 2011-03-13 16:35:16 -04:00
node.c tipc: Ensure broadcast link re-acquires node after link failure 2012-02-06 16:59:16 -05:00
node.h tipc: Ensure broadcast link re-acquires node after link failure 2012-02-06 16:59:16 -05:00
port.c tipc: rename struct port_list to struct tipc_port_list 2011-12-29 21:53:29 -05:00
port.h tipc: rename struct port_list to struct tipc_port_list 2011-12-29 21:53:29 -05:00
ref.c net: two vzalloc() cleanups 2011-12-19 16:01:38 -05:00
ref.h tipc: cleanup function namespace 2010-10-16 11:13:24 -07:00
socket.c tipc: Enable use by containers having their own network namespace 2011-12-27 11:13:05 -05:00
subscr.c tipc: rename struct subscriber to struct tipc_subscriber 2011-12-29 21:53:30 -05:00
subscr.h tipc: rename struct subscription to struct tipc_subscription 2011-12-29 21:53:29 -05:00