History

tipc: support broadcast/replicast configurable for bc-link

Currently, a multicast stream uses either broadcast or replicast as transmission method, based on the ratio between number of actual destinations nodes and cluster size. However, when an L2 interface (e.g., VXLAN) provides pseudo broadcast support, this becomes very inefficient, as it blindly replicates multicast packets to all cluster/subnet nodes, irrespective of whether they host actual target sockets or not. The TIPC multicast algorithm is able to distinguish real destination nodes from other nodes, and hence provides a smarter and more efficient method for transferring multicast messages than pseudo broadcast can do. Because of this, we now make it possible for users to force the broadcast link to permanently switch to using replicast, irrespective of which capabilities the bearer provides, or pretend to provide. Conversely, we also make it possible to force the broadcast link to always use true broadcast. While maybe less useful in deployed systems, this may at least be useful for testing the broadcast algorithm in small clusters. We retain the current AUTOSELECT ability, i.e., to let the broadcast link automatically select which algorithm to use, and to switch back and forth between broadcast and replicast as the ratio between destination node number and cluster size changes. This remains the default method. Furthermore, we make it possible to configure the threshold ratio for such switches. The default ratio is now set to 10%, down from 25% in the earlier implementation.

Hoang Le committed 7 years ago

Commit 02ec6ca1 parent 310974f5 files · +120 −5Browse files

Showing the changes to include/uapi/linux (1 of 5 files). Show all

Unified · Split

include/uapi/linux/tipc_netlink.h+2−0
@@ -281,6 +281,8 @@ enum { · 280 unmodified lines
281 TIPC_NLA_PROP_TOL, /* u32 */281 TIPC_NLA_PROP_TOL, /* u32 */
282 TIPC_NLA_PROP_WIN, /* u32 */282 TIPC_NLA_PROP_WIN, /* u32 */
283 TIPC_NLA_PROP_MTU, /* u32 */283 TIPC_NLA_PROP_MTU, /* u32 */
284 TIPC_NLA_PROP_BROADCAST, /* u32 */
285 TIPC_NLA_PROP_BROADCAST_RATIO, /* u32 */
284 286
285 __TIPC_NLA_PROP_MAX,287 __TIPC_NLA_PROP_MAX,
286 TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1288 TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t