Introduce to configure bearer to indicate it does support broadcast whether or not.
Usage: - Enable broadcast for bearer: $tipc bearer set broadcast 1 media eth dev <device> - Disable broadcast for bearer: $tipc bearer set broadcast 0 media eth dev <device> Signed-off-by: Hoang Le <[email protected]> --- include/uapi/linux/tipc_netlink.h | 1 + tipc/bearer.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/include/uapi/linux/tipc_netlink.h b/include/uapi/linux/tipc_netlink.h index 0ebe02ef1a86..92ecf3cd4013 100644 --- a/include/uapi/linux/tipc_netlink.h +++ b/include/uapi/linux/tipc_netlink.h @@ -281,6 +281,7 @@ enum { TIPC_NLA_PROP_TOL, /* u32 */ TIPC_NLA_PROP_WIN, /* u32 */ TIPC_NLA_PROP_MTU, /* u32 */ + TIPC_NLA_PROP_BCAST, /* u32 */ __TIPC_NLA_PROP_MAX, TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1 diff --git a/tipc/bearer.c b/tipc/bearer.c index 05dc84aa8ded..8433e3dfb9cb 100644 --- a/tipc/bearer.c +++ b/tipc/bearer.c @@ -43,7 +43,8 @@ static void _print_bearer_opts(void) " priority - Bearer link priority\n" " tolerance - Bearer link tolerance\n" " window - Bearer link window\n" - " mtu - Bearer link mtu\n"); + " mtu - Bearer link mtu\n" + " broadcast - Bearer link broadcast\n"); } void print_bearer_media(void) @@ -570,6 +571,8 @@ static int cmd_bearer_set_prop(struct nlmsghdr *nlh, const struct cmd *cmd, prop = TIPC_NLA_PROP_WIN; else if ((strcmp(cmd->cmd, "mtu") == 0)) prop = TIPC_NLA_PROP_MTU; + else if ((strcmp(cmd->cmd, "broadcast") == 0)) + prop = TIPC_NLA_PROP_BCAST; else return -EINVAL; @@ -620,6 +623,7 @@ static int cmd_bearer_set(struct nlmsghdr *nlh, const struct cmd *cmd, { "tolerance", cmd_bearer_set_prop, cmd_bearer_set_help }, { "window", cmd_bearer_set_prop, cmd_bearer_set_help }, { "mtu", cmd_bearer_set_prop, cmd_bearer_set_help }, + { "broadcast", cmd_bearer_set_prop, cmd_bearer_set_help }, { NULL } }; @@ -902,6 +906,8 @@ static int cmd_bearer_get_prop(struct nlmsghdr *nlh, const struct cmd *cmd, prop = TIPC_NLA_PROP_WIN; else if ((strcmp(cmd->cmd, "mtu") == 0)) prop = TIPC_NLA_PROP_MTU; + else if ((strcmp(cmd->cmd, "broadcast") == 0)) + prop = TIPC_NLA_PROP_BCAST; else return -EINVAL; @@ -942,6 +948,7 @@ static int cmd_bearer_get(struct nlmsghdr *nlh, const struct cmd *cmd, { "window", cmd_bearer_get_prop, cmd_bearer_get_help }, { "mtu", cmd_bearer_get_prop, cmd_bearer_get_help }, { "media", cmd_bearer_get_media, cmd_bearer_get_help }, + { "broadcast", cmd_bearer_get_prop, cmd_bearer_get_help }, { NULL } }; @@ -995,7 +1002,7 @@ void cmd_bearer_help(struct cmdl *cmdl) "Usage: %s bearer COMMAND [ARGS] ...\n" "\n" "COMMANDS\n" - " add - Add data to existing bearer\n" + " add - Add data to existing bearer\n" " enable - Enable a bearer\n" " disable - Disable a bearer\n" " set - Set various bearer properties\n" -- 2.17.1 _______________________________________________ tipc-discussion mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tipc-discussion
