tipc: introduce group anycast messaging
authorJon Maloy <jon.maloy@ericsson.com>
Fri, 13 Oct 2017 09:04:28 +0000 (11:04 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 13 Oct 2017 15:46:00 +0000 (08:46 -0700)
commitee106d7f942dabce1352e01c6fe9ca4a720c2331
tree411914c242c51f520229cb4506680be7b6c56872
parent27bd9ec027f396457d1a147043c92ff22fc4c71e
tipc: introduce group anycast messaging

In this commit, we make it possible to send connectionless unicast
messages to any member corresponding to the given member identity,
when there is more than one such member. The sender must use a
TIPC_ADDR_NAME address to achieve this effect.

We also perform load balancing between the destinations, i.e., we
primarily select one which has advertised sufficient send window
to not cause a block/EAGAIN delay, if any. This mechanism is
overlayed on the always present round-robin selection.

Anycast messages are subject to the same start synchronization
and flow control mechanism as group broadcast messages.

Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Acked-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/group.c
net/tipc/group.h
net/tipc/name_table.c
net/tipc/name_table.h
net/tipc/socket.c