bridge: Add internal flags for per-{Port, VLAN} neighbor suppression
authorIdo Schimmel <idosch@nvidia.com>
Wed, 19 Apr 2023 15:34:54 +0000 (18:34 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 21 Apr 2023 07:25:49 +0000 (08:25 +0100)
Add two internal flags that will be used to enable / disable per-{Port,
VLAN} neighbor suppression:

1. 'BR_NEIGH_VLAN_SUPPRESS': A per-port flag used to indicate that
per-{Port, VLAN} neighbor suppression is enabled on the bridge port.
When set, 'BR_NEIGH_SUPPRESS' has no effect.

2. 'BR_VLFLAG_NEIGH_SUPPRESS_ENABLED': A per-VLAN flag used to indicate
that neighbor suppression is enabled on the given VLAN.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/if_bridge.h
net/bridge/br_private.h

index 1668ac4..3ff96ae 100644 (file)
@@ -60,6 +60,7 @@ struct br_ip_list {
 #define BR_TX_FWD_OFFLOAD      BIT(20)
 #define BR_PORT_LOCKED         BIT(21)
 #define BR_PORT_MAB            BIT(22)
+#define BR_NEIGH_VLAN_SUPPRESS BIT(23)
 
 #define BR_DEFAULT_AGEING_TIME (300 * HZ)
 
index 1ff4d64..b17fc82 100644 (file)
@@ -178,6 +178,7 @@ enum {
        BR_VLFLAG_ADDED_BY_SWITCHDEV = BIT(1),
        BR_VLFLAG_MCAST_ENABLED = BIT(2),
        BR_VLFLAG_GLOBAL_MCAST_ENABLED = BIT(3),
+       BR_VLFLAG_NEIGH_SUPPRESS_ENABLED = BIT(4),
 };
 
 /**