All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH iproute2-next v2 0/6] bridge: support for controlling broadcast flooding per port
@ 2022-03-09  7:17 Joachim Wiberg
  2022-03-09  7:17 ` [PATCH iproute2-next v2 1/6] bridge: support for controlling flooding of broadcast " Joachim Wiberg
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Joachim Wiberg @ 2022-03-09  7:17 UTC (permalink / raw)
  To: netdev
  Cc: David Ahern, Stephen Hemminger, Nikolay Aleksandrov, Joachim Wiberg

Hi,

this v2 of the patch set expands on the original by also updating the
ip/link_bridge_slave.c, and its corresponding manual page.  Both this
and the original address a slight omission in controlling broadcast
flooding per bridge port, which the bridge has had support for a good
while now.

I've grouped the setting alongside it's cousin mcast_flood, maybe we
should move unicast flooding to the same group of settings, to make
it easier to locate them in manuals and usage text?

v2:
  - Add bcast_flood also to ip/iplink_bridge_slave.c
  - Update man page for ip-link(8) with new bcast_flood flag
  - Update mcast_flood in same man page slightly
  - Fix minor weird whitespace issues causing sudden line breaks
v1:
  - Add bcast_flood to bridge/link.c
  - Update man page for bridge(8) with bcast_flood for brports

Best regards
 /Joachim

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH iproute2-next v2 1/6] bridge: support for controlling flooding of broadcast per port
  2022-03-09  7:17 [PATCH iproute2-next v2 0/6] bridge: support for controlling broadcast flooding per port Joachim Wiberg
@ 2022-03-09  7:17 ` Joachim Wiberg
  2022-03-09  7:17 ` [PATCH iproute2-next v2 2/6] man: bridge: document new bcast_flood flag for bridge ports Joachim Wiberg
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Joachim Wiberg @ 2022-03-09  7:17 UTC (permalink / raw)
  To: netdev
  Cc: David Ahern, Stephen Hemminger, Nikolay Aleksandrov, Joachim Wiberg

Add per-port support for controlling flooding of broadcast traffic.
Similar to unicast and multcast flooding that already exist.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
---
 bridge/link.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/bridge/link.c b/bridge/link.c
index bc7837a9..407dc8ea 100644
--- a/bridge/link.c
+++ b/bridge/link.c
@@ -153,6 +153,9 @@ static void print_protinfo(FILE *fp, struct rtattr *attr)
 		if (prtb[IFLA_BRPORT_MCAST_FLOOD])
 			print_on_off(PRINT_ANY, "mcast_flood", "mcast_flood %s ",
 				     rta_getattr_u8(prtb[IFLA_BRPORT_MCAST_FLOOD]));
+		if (prtb[IFLA_BRPORT_BCAST_FLOOD])
+			print_on_off(PRINT_ANY, "bcast_flood", "bcast_flood %s ",
+				     rta_getattr_u8(prtb[IFLA_BRPORT_BCAST_FLOOD]));
 		if (prtb[IFLA_BRPORT_MCAST_TO_UCAST])
 			print_on_off(PRINT_ANY, "mcast_to_unicast", "mcast_to_unicast %s ",
 				     rta_getattr_u8(prtb[IFLA_BRPORT_MCAST_TO_UCAST]));
@@ -265,6 +268,7 @@ static void usage(void)
 		"                               [ learning_sync {on | off} ]\n"
 		"                               [ flood {on | off} ]\n"
 		"                               [ mcast_flood {on | off} ]\n"
+		"                               [ bcast_flood {on | off} ]\n"
 		"                               [ mcast_to_unicast {on | off} ]\n"
 		"                               [ neigh_suppress {on | off} ]\n"
 		"                               [ vlan_tunnel {on | off} ]\n"
@@ -296,6 +300,7 @@ static int brlink_modify(int argc, char **argv)
 	__s8 flood = -1;
 	__s8 vlan_tunnel = -1;
 	__s8 mcast_flood = -1;
+	__s8 bcast_flood = -1;
 	__s8 mcast_to_unicast = -1;
 	__s8 isolated = -1;
 	__s8 hairpin = -1;
@@ -354,6 +359,11 @@ static int brlink_modify(int argc, char **argv)
 			mcast_flood = parse_on_off("mcast_flood", *argv, &ret);
 			if (ret)
 				return ret;
+		} else if (strcmp(*argv, "bcast_flood") == 0) {
+			NEXT_ARG();
+			bcast_flood = parse_on_off("bcast_flood", *argv, &ret);
+			if (ret)
+				return ret;
 		} else if (strcmp(*argv, "mcast_to_unicast") == 0) {
 			NEXT_ARG();
 			mcast_to_unicast = parse_on_off("mcast_to_unicast", *argv, &ret);
@@ -456,6 +466,9 @@ static int brlink_modify(int argc, char **argv)
 	if (mcast_flood >= 0)
 		addattr8(&req.n, sizeof(req), IFLA_BRPORT_MCAST_FLOOD,
 			 mcast_flood);
+	if (bcast_flood >= 0)
+		addattr8(&req.n, sizeof(req), IFLA_BRPORT_BCAST_FLOOD,
+			 bcast_flood);
 	if (mcast_to_unicast >= 0)
 		addattr8(&req.n, sizeof(req), IFLA_BRPORT_MCAST_TO_UCAST,
 			 mcast_to_unicast);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH iproute2-next v2 2/6] man: bridge: document new bcast_flood flag for bridge ports
  2022-03-09  7:17 [PATCH iproute2-next v2 0/6] bridge: support for controlling broadcast flooding per port Joachim Wiberg
  2022-03-09  7:17 ` [PATCH iproute2-next v2 1/6] bridge: support for controlling flooding of broadcast " Joachim Wiberg
@ 2022-03-09  7:17 ` Joachim Wiberg
  2022-03-09  7:17 ` [PATCH iproute2-next v2 3/6] ip: iplink_bridge_slave: support for broadcast flooding Joachim Wiberg
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Joachim Wiberg @ 2022-03-09  7:17 UTC (permalink / raw)
  To: netdev
  Cc: David Ahern, Stephen Hemminger, Nikolay Aleksandrov, Joachim Wiberg

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
---
 man/man8/bridge.8 | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/man/man8/bridge.8 b/man/man8/bridge.8
index 81ce9e6f..1d03eef1 100644
--- a/man/man8/bridge.8
+++ b/man/man8/bridge.8
@@ -46,6 +46,7 @@ bridge \- show / manipulate bridge addresses and devices
 .BR flood " { " on " | " off " } ] [ "
 .BR hwmode " { " vepa " | " veb " } ] [ "
 .BR mcast_flood " { " on " | " off " } ] [ "
+.BR bcast_flood " { " on " | " off " } ] [ "
 .BR mcast_to_unicast " { " on " | " off " } ] [ "
 .BR neigh_suppress " { " on " | " off " } ] [ "
 .BR vlan_tunnel " { " on " | " off " } ] [ "
@@ -466,6 +467,11 @@ switch.
 Controls whether multicast traffic for which there is no MDB entry will be
 flooded towards this given port. By default this flag is on.
 
+.TP
+.BR "bcast_flood on " or " bcast_flood off "
+Controls flooding of broadcast traffic on the given port.
+By default this flag is on.
+
 .TP
 .BR "mcast_to_unicast on " or " mcast_to_unicast off "
 Controls whether a given port will replicate packets using unicast
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH iproute2-next v2 3/6] ip: iplink_bridge_slave: support for broadcast flooding
  2022-03-09  7:17 [PATCH iproute2-next v2 0/6] bridge: support for controlling broadcast flooding per port Joachim Wiberg
  2022-03-09  7:17 ` [PATCH iproute2-next v2 1/6] bridge: support for controlling flooding of broadcast " Joachim Wiberg
  2022-03-09  7:17 ` [PATCH iproute2-next v2 2/6] man: bridge: document new bcast_flood flag for bridge ports Joachim Wiberg
@ 2022-03-09  7:17 ` Joachim Wiberg
  2022-03-09  7:17 ` [PATCH iproute2-next v2 4/6] man: ip-link: document new bcast_flood flag on bridge ports Joachim Wiberg
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Joachim Wiberg @ 2022-03-09  7:17 UTC (permalink / raw)
  To: netdev
  Cc: David Ahern, Stephen Hemminger, Nikolay Aleksandrov, Joachim Wiberg

Add per-port support for controlling flooding of broadcast traffic.
Similar to unicast and multcast flooding that already exist.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
---
 ip/iplink_bridge_slave.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/ip/iplink_bridge_slave.c b/ip/iplink_bridge_slave.c
index 71787586..0cf3422d 100644
--- a/ip/iplink_bridge_slave.c
+++ b/ip/iplink_bridge_slave.c
@@ -37,6 +37,7 @@ static void print_explain(FILE *f)
 		"			[ mcast_router MULTICAST_ROUTER ]\n"
 		"			[ mcast_fast_leave {on | off} ]\n"
 		"			[ mcast_flood {on | off} ]\n"
+		"			[ bcast_flood {on | off} ]\n"
 		"			[ mcast_to_unicast {on | off} ]\n"
 		"			[ group_fwd_mask MASK ]\n"
 		"			[ neigh_suppress {on | off} ]\n"
@@ -250,6 +251,10 @@ static void bridge_slave_print_opt(struct link_util *lu, FILE *f,
 		print_on_off(PRINT_ANY, "mcast_flood", "mcast_flood %s ",
 			     rta_getattr_u8(tb[IFLA_BRPORT_MCAST_FLOOD]));
 
+	if (tb[IFLA_BRPORT_BCAST_FLOOD])
+		print_on_off(PRINT_ANY, "bcast_flood", "bcast_flood %s ",
+			     rta_getattr_u8(tb[IFLA_BRPORT_BCAST_FLOOD]));
+
 	if (tb[IFLA_BRPORT_MCAST_TO_UCAST])
 		print_on_off(PRINT_ANY, "mcast_to_unicast", "mcast_to_unicast %s ",
 			     rta_getattr_u8(tb[IFLA_BRPORT_MCAST_TO_UCAST]));
@@ -350,6 +355,10 @@ static int bridge_slave_parse_opt(struct link_util *lu, int argc, char **argv,
 			NEXT_ARG();
 			bridge_slave_parse_on_off("mcast_flood", *argv, n,
 						  IFLA_BRPORT_MCAST_FLOOD);
+		} else if (matches(*argv, "bcast_flood") == 0) {
+			NEXT_ARG();
+			bridge_slave_parse_on_off("bcast_flood", *argv, n,
+						  IFLA_BRPORT_BCAST_FLOOD);
 		} else if (matches(*argv, "mcast_to_unicast") == 0) {
 			NEXT_ARG();
 			bridge_slave_parse_on_off("mcast_to_unicast", *argv, n,
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH iproute2-next v2 4/6] man: ip-link: document new bcast_flood flag on bridge ports
  2022-03-09  7:17 [PATCH iproute2-next v2 0/6] bridge: support for controlling broadcast flooding per port Joachim Wiberg
                   ` (2 preceding siblings ...)
  2022-03-09  7:17 ` [PATCH iproute2-next v2 3/6] ip: iplink_bridge_slave: support for broadcast flooding Joachim Wiberg
@ 2022-03-09  7:17 ` Joachim Wiberg
  2022-03-09  7:28   ` Stephen Hemminger
  2022-03-09  7:17 ` [PATCH iproute2-next v2 5/6] man: ip-link: mention bridge port's default mcast_flood state Joachim Wiberg
  2022-03-09  7:17 ` [PATCH iproute2-next v2 6/6] man: ip-link: whitespace fixes to odd line breaks mid sentence Joachim Wiberg
  5 siblings, 1 reply; 9+ messages in thread
From: Joachim Wiberg @ 2022-03-09  7:17 UTC (permalink / raw)
  To: netdev
  Cc: David Ahern, Stephen Hemminger, Nikolay Aleksandrov, Joachim Wiberg

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
---
 man/man8/ip-link.8.in | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in
index 19a0c9ca..6dd18f7b 100644
--- a/man/man8/ip-link.8.in
+++ b/man/man8/ip-link.8.in
@@ -2366,6 +2366,8 @@ the following additional arguments are supported:
 ] [
 .BR mcast_flood " { " on " | " off " }"
 ] [
+.BR bcast_flood " { " on " | " off " }"
+] [
 .BR mcast_to_unicast " { " on " | " off " }"
 ] [
 .BR group_fwd_mask " MASK"
@@ -2454,6 +2456,10 @@ option above.
 - controls whether a given port will flood multicast traffic for which
   there is no MDB entry.
 
+.BR bcast_flood " { " on " | " off " }"
+- controls flooding of broadcast traffic on the given port. By default
+this flag is on.
+
 .BR mcast_to_unicast " { " on " | " off " }"
 - controls whether a given port will replicate packets using unicast
   instead of multicast. By default this flag is off.
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH iproute2-next v2 5/6] man: ip-link: mention bridge port's default mcast_flood state
  2022-03-09  7:17 [PATCH iproute2-next v2 0/6] bridge: support for controlling broadcast flooding per port Joachim Wiberg
                   ` (3 preceding siblings ...)
  2022-03-09  7:17 ` [PATCH iproute2-next v2 4/6] man: ip-link: document new bcast_flood flag on bridge ports Joachim Wiberg
@ 2022-03-09  7:17 ` Joachim Wiberg
  2022-03-09  7:17 ` [PATCH iproute2-next v2 6/6] man: ip-link: whitespace fixes to odd line breaks mid sentence Joachim Wiberg
  5 siblings, 0 replies; 9+ messages in thread
From: Joachim Wiberg @ 2022-03-09  7:17 UTC (permalink / raw)
  To: netdev
  Cc: David Ahern, Stephen Hemminger, Nikolay Aleksandrov, Joachim Wiberg

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
---
 man/man8/ip-link.8.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in
index 6dd18f7b..11a02331 100644
--- a/man/man8/ip-link.8.in
+++ b/man/man8/ip-link.8.in
@@ -2454,7 +2454,7 @@ option above.
 
 .BR mcast_flood " { " on " | " off " }"
 - controls whether a given port will flood multicast traffic for which
-  there is no MDB entry.
+  there is no MDB entry. By default this flag is on.
 
 .BR bcast_flood " { " on " | " off " }"
 - controls flooding of broadcast traffic on the given port. By default
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH iproute2-next v2 6/6] man: ip-link: whitespace fixes to odd line breaks mid sentence
  2022-03-09  7:17 [PATCH iproute2-next v2 0/6] bridge: support for controlling broadcast flooding per port Joachim Wiberg
                   ` (4 preceding siblings ...)
  2022-03-09  7:17 ` [PATCH iproute2-next v2 5/6] man: ip-link: mention bridge port's default mcast_flood state Joachim Wiberg
@ 2022-03-09  7:17 ` Joachim Wiberg
  5 siblings, 0 replies; 9+ messages in thread
From: Joachim Wiberg @ 2022-03-09  7:17 UTC (permalink / raw)
  To: netdev
  Cc: David Ahern, Stephen Hemminger, Nikolay Aleksandrov, Joachim Wiberg

Some options, spread across the man page, were accidentally (?) space
indented (possible bullet list auto-indent in editors), causing odd line
breaks in presentation mode (emacs, nroff, etc.).  This patch aligns the
multi-line descriptions to column zero, in line with other such option
descriptions.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
---
 man/man8/ip-link.8.in | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in
index 11a02331..870e8c43 100644
--- a/man/man8/ip-link.8.in
+++ b/man/man8/ip-link.8.in
@@ -481,11 +481,11 @@ where <phy_dev> is the physical device to which VLAN device is bound.
 
 .BR gvrp " { " on " | " off " } "
 - specifies whether this VLAN should be registered using GARP VLAN
-  Registration Protocol.
+Registration Protocol.
 
 .BR mvrp " { " on " | " off " } "
 - specifies whether this VLAN should be registered using Multiple VLAN
-  Registration Protocol.
+Registration Protocol.
 
 .BR loose_binding " { " on " | " off " } "
 - specifies whether the VLAN device state is bound to the physical device state.
@@ -2189,9 +2189,9 @@ parameter must be specified.
 .sp
 .BI query_rss " on|off"
 - toggle the ability of querying the RSS configuration of a specific
-  VF. VF RSS information like RSS hash key may be considered sensitive
-  on some devices where this information is shared between VF and PF
-  and thus its querying may be prohibited by default.
+VF. VF RSS information like RSS hash key may be considered sensitive
+on some devices where this information is shared between VF and PF
+and thus its querying may be prohibited by default.
 .sp
 .BI state " auto|enable|disable"
 - set the virtual link state as seen by the specified VF. Setting to
@@ -2454,7 +2454,7 @@ option above.
 
 .BR mcast_flood " { " on " | " off " }"
 - controls whether a given port will flood multicast traffic for which
-  there is no MDB entry. By default this flag is on.
+there is no MDB entry. By default this flag is on.
 
 .BR bcast_flood " { " on " | " off " }"
 - controls flooding of broadcast traffic on the given port. By default
@@ -2462,7 +2462,7 @@ this flag is on.
 
 .BR mcast_to_unicast " { " on " | " off " }"
 - controls whether a given port will replicate packets using unicast
-  instead of multicast. By default this flag is off.
+instead of multicast. By default this flag is off.
 
 .BI group_fwd_mask " MASK "
 - set the group forward mask. This is the bitmask that is applied to
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH iproute2-next v2 4/6] man: ip-link: document new bcast_flood flag on bridge ports
  2022-03-09  7:17 ` [PATCH iproute2-next v2 4/6] man: ip-link: document new bcast_flood flag on bridge ports Joachim Wiberg
@ 2022-03-09  7:28   ` Stephen Hemminger
  2022-03-09 12:34     ` Joachim Wiberg
  0 siblings, 1 reply; 9+ messages in thread
From: Stephen Hemminger @ 2022-03-09  7:28 UTC (permalink / raw)
  To: Joachim Wiberg; +Cc: netdev, David Ahern, Nikolay Aleksandrov

On Wed,  9 Mar 2022 08:17:14 +0100
Joachim Wiberg <troglobit@gmail.com> wrote:

> Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
> ---
>  man/man8/ip-link.8.in | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in
> index 19a0c9ca..6dd18f7b 100644
> --- a/man/man8/ip-link.8.in
> +++ b/man/man8/ip-link.8.in
> @@ -2366,6 +2366,8 @@ the following additional arguments are supported:
>  ] [
>  .BR mcast_flood " { " on " | " off " }"
>  ] [
> +.BR bcast_flood " { " on " | " off " }"
> +] [
>  .BR mcast_to_unicast " { " on " | " off " }"
>  ] [
>  .BR group_fwd_mask " MASK"
> @@ -2454,6 +2456,10 @@ option above.
>  - controls whether a given port will flood multicast traffic for which
>    there is no MDB entry.
>  
> +.BR bcast_flood " { " on " | " off " }"
> +- controls flooding of broadcast traffic on the given port. By default
> +this flag is on.
> +
>  .BR mcast_to_unicast " { " on " | " off " }"
>  - controls whether a given port will replicate packets using unicast
>    instead of multicast. By default this flag is off.

Minor nit, would be better to put options in alphabetical order in document.
Certainly not splitting the two mcast options.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH iproute2-next v2 4/6] man: ip-link: document new bcast_flood flag on bridge ports
  2022-03-09  7:28   ` Stephen Hemminger
@ 2022-03-09 12:34     ` Joachim Wiberg
  0 siblings, 0 replies; 9+ messages in thread
From: Joachim Wiberg @ 2022-03-09 12:34 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev, David Ahern, Nikolay Aleksandrov

On Tue, Mar 08, 2022 at 23:28, Stephen Hemminger <stephen@networkplumber.org> wrote:
> Minor nit, would be better to put options in alphabetical order in document.
> Certainly not splitting the two mcast options.

Ah, of course!  I'll fix it up in a v3 later today, thanks!

 /J
 

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-03-09 12:34 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-09  7:17 [PATCH iproute2-next v2 0/6] bridge: support for controlling broadcast flooding per port Joachim Wiberg
2022-03-09  7:17 ` [PATCH iproute2-next v2 1/6] bridge: support for controlling flooding of broadcast " Joachim Wiberg
2022-03-09  7:17 ` [PATCH iproute2-next v2 2/6] man: bridge: document new bcast_flood flag for bridge ports Joachim Wiberg
2022-03-09  7:17 ` [PATCH iproute2-next v2 3/6] ip: iplink_bridge_slave: support for broadcast flooding Joachim Wiberg
2022-03-09  7:17 ` [PATCH iproute2-next v2 4/6] man: ip-link: document new bcast_flood flag on bridge ports Joachim Wiberg
2022-03-09  7:28   ` Stephen Hemminger
2022-03-09 12:34     ` Joachim Wiberg
2022-03-09  7:17 ` [PATCH iproute2-next v2 5/6] man: ip-link: mention bridge port's default mcast_flood state Joachim Wiberg
2022-03-09  7:17 ` [PATCH iproute2-next v2 6/6] man: ip-link: whitespace fixes to odd line breaks mid sentence Joachim Wiberg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.