Message ID | 20210826130533.149111-11-razor@blackwall.org |
---|---|
State | Superseded |
Headers | show |
Series | bridge: vlan: add global multicast options | expand |
On 8/26/21 6:05 AM, Nikolay Aleksandrov wrote: > @@ -42,6 +42,7 @@ static void usage(void) > " [ mcast_igmp_version IGMP_VERSION ]\n" > " [ mcast_mld_version MLD_VERSION ]\n" > " [ mcast_last_member_count LAST_MEMBER_COUNT ]\n" > + " [ mcast_last_member_interval LAST_MEMBER_INTERVAL ]\n" > " [ mcast_startup_query_count STARTUP_QUERY_COUNT ]\n" > " bridge vlan global { show } [ dev DEV ] [ vid VLAN_ID ]\n"); > exit(-1); line lengths are too long. The LAST_MEMBER_INTERVAL is at 107 characters wide just in what is displayed to the user. Let's keep those under 100.
On 8/27/21 10:39 AM, Nikolay Aleksandrov wrote: > > > ------------------------------------------------------------------------ > *From:* David Ahern <dsahern@gmail.com> > *Sent:* Friday, 27 August 2021, 20:15 > *To:* Nikolay Aleksandrov; netdev@vger.kernel.org > *Cc:* Roopa Prabhu; Joachim Wiberg; Nikolay Aleksandrov > *Subject:* Re: [PATCH iproute2-next 10/17] bridge: vlan: add global > mcast_last_member_interval option > > On 8/26/21 6:05 AM, Nikolay Aleksandrov wrote: >> @@ -42,6 +42,7 @@ static void usage(void) >> " [ mcast_igmp_version IGMP_VERSION ]\n" >> " [ mcast_mld_version MLD_VERSION ]\n" >> " [ mcast_last_member_count LAST_MEMBER_COUNT ]\n" >> + " [ mcast_last_member_interval LAST_MEMBER_INTERVAL ]\n" >> " [ mcast_startup_query_count STARTUP_QUERY_COUNT ]\n" >> " bridge vlan global { show } [ dev DEV ] [ vid VLAN_ID ]\n"); >> exit(-1); > > line lengths are too long. The LAST_MEMBER_INTERVAL is at 107 characters > wide just in what is displayed to the user. Let's keep those under 100. > >>> > > To be clear do you want me to break the help line or use a format string > to print it? > > > Something like this: " bridge vlan global { set } vid VLAN_ID dev DEV\n" " [ mcast_snooping MULTICAST_SNOOPING ]\n" " [ mcast_igmp_version IGMP_VERSION ]\n" " [ mcast_mld_version MLD_VERSION ]\n" " [ mcast_last_member_count LAST_MEMBER_COUNT ]\n" (email line lengths are too short forcing wrapping too early, but that is the intent with line lengths in the 80-90 range
diff --git a/bridge/vlan.c b/bridge/vlan.c index bf8555b87b33..c3234a90b4fa 100644 --- a/bridge/vlan.c +++ b/bridge/vlan.c @@ -42,6 +42,7 @@ static void usage(void) " [ mcast_igmp_version IGMP_VERSION ]\n" " [ mcast_mld_version MLD_VERSION ]\n" " [ mcast_last_member_count LAST_MEMBER_COUNT ]\n" + " [ mcast_last_member_interval LAST_MEMBER_INTERVAL ]\n" " [ mcast_startup_query_count STARTUP_QUERY_COUNT ]\n" " bridge vlan global { show } [ dev DEV ] [ vid VLAN_ID ]\n"); exit(-1); @@ -360,6 +361,7 @@ static int vlan_global_option_set(int argc, char **argv) short vid_end = -1; char *d = NULL; short vid = -1; + __u64 val64; __u32 val32; __u8 val8; @@ -437,6 +439,14 @@ static int vlan_global_option_set(int argc, char **argv) addattr32(&req.n, 1024, BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_CNT, val32); + } else if (strcmp(*argv, "mcast_last_member_interval") == 0) { + NEXT_ARG(); + if (get_u64(&val64, *argv, 0)) + invarg("invalid mcast_last_member_interval", + *argv); + addattr64(&req.n, 1024, + BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_INTVL, + val64); } else { if (matches(*argv, "help") == 0) NEXT_ARG(); @@ -791,6 +801,12 @@ static void print_vlan_global_opts(struct rtattr *a, int ifindex) "mcast_last_member_count %u ", rta_getattr_u32(vattr)); } + if (vtb[BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_INTVL]) { + vattr = vtb[BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_INTVL]; + print_lluint(PRINT_ANY, "mcast_last_member_interval", + "mcast_last_member_interval %llu ", + rta_getattr_u64(vattr)); + } if (vtb[BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_CNT]) { vattr = vtb[BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_CNT]; print_uint(PRINT_ANY, "mcast_startup_query_count", diff --git a/man/man8/bridge.8 b/man/man8/bridge.8 index 7741382321cb..0d973a9db0e0 100644 --- a/man/man8/bridge.8 +++ b/man/man8/bridge.8 @@ -166,6 +166,8 @@ bridge \- show / manipulate bridge addresses and devices .IR MLD_VERSION " ] [ " .B mcast_last_member_count .IR LAST_MEMBER_COUNT " ] [ " +.B mcast_last_member_interval +.IR LAST_MEMBER_INTERVAL " ] [ " .B mcast_startup_query_count .IR STARTUP_QUERY_COUNT " ]" @@ -953,6 +955,11 @@ set multicast last member count, ie the number of queries the bridge will send before stopping forwarding a multicast group after a "leave" message has been received. Default is 2. +.TP +.BI mcast_last_member_interval " LAST_MEMBER_INTERVAL " +interval between queries to find remaining members of a group, +after a "leave" message is received. + .TP .BI mcast_startup_query_count " STARTUP_QUERY_COUNT " set the number of queries to send during startup phase. Default is 2.