summaryrefslogtreecommitdiffstats
path: root/net/tipc/node.c
diff options
context:
space:
mode:
authorJon Paul Maloy <jon.maloy@ericsson.com>2015-10-22 14:51:40 +0200
committerDavid S. Miller <davem@davemloft.net>2015-10-24 15:56:35 +0200
commitfd556f209af53b9cdc45df8c467feb235376c4df (patch)
treeabca98757b551a23d08dd80ca3b72a1d3ac7a564 /net/tipc/node.c
parenttipc: let broadcast transmission use new link transmit function (diff)
downloadlinux-fd556f209af53b9cdc45df8c467feb235376c4df.tar.xz
linux-fd556f209af53b9cdc45df8c467feb235376c4df.zip
tipc: introduce capability bit for broadcast synchronization
Until now, we have tried to support both the newer, dedicated broadcast synchronization mechanism along with the older, less safe, RESET_MSG/ ACTIVATE_MSG based one. The latter method has turned out to be a hazard in a highly dynamic cluster, so we find it safer to disable it completely when we find that the former mechanism is supported by the peer node. For this purpose, we now introduce a new capabability bit, TIPC_BCAST_SYNCH, to inform any peer nodes that dedicated broadcast syncronization is supported by the present node. The new bit is conveyed between peers in the 'capabilities' field of neighbor discovery messages. Signed-off-by: Jon Maloy <jon.maloy@ericsson.com> Reviewed-by: Ying Xue <ying.xue@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/node.c')
-rw-r--r--net/tipc/node.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c
index d3f7ca202281..28bcd7be23c6 100644
--- a/net/tipc/node.c
+++ b/net/tipc/node.c
@@ -584,8 +584,10 @@ void tipc_node_check_dest(struct net *net, u32 onode,
if (!tipc_link_create(n, if_name, b->identity, b->tolerance,
b->net_plane, b->mtu, b->priority,
b->window, mod(tipc_net(net)->random),
- tipc_own_addr(net), onode, &le->maddr,
- &le->inputq, &n->bclink.namedq, &l)) {
+ tipc_own_addr(net), onode,
+ n->capabilities,
+ &le->maddr, &le->inputq,
+ &n->bclink.namedq, &l)) {
*respond = false;
goto exit;
}