summaryrefslogtreecommitdiff
path: root/net/dsa/dsa2.c
diff options
context:
space:
mode:
authorVladimir Oltean <vladimir.oltean@nxp.com>2021-12-06 19:57:48 +0300
committerJakub Kicinski <kuba@kernel.org>2021-12-09 01:31:14 +0300
commit947c8746e2c31bb469ba9ee02dc739be6a98ee38 (patch)
treed79bf7336fbc938ae82d29cb222ec871459a4ece /net/dsa/dsa2.c
parent3f9bb0301d50ce27421eff4b710c2bbe58111a83 (diff)
downloadlinux-947c8746e2c31bb469ba9ee02dc739be6a98ee38.tar.xz
net: dsa: assign a bridge number even without TX forwarding offload
The service where DSA assigns a unique bridge number for each forwarding domain is useful even for drivers which do not implement the TX forwarding offload feature. For example, drivers might use the dp->bridge_num for FDB isolation. So rename ds->num_fwd_offloading_bridges to ds->max_num_bridges, and calculate a unique bridge_num for all drivers that set this value. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/dsa/dsa2.c')
-rw-r--r--net/dsa/dsa2.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
index 9606e56710a5..4901cdc264ee 100644
--- a/net/dsa/dsa2.c
+++ b/net/dsa/dsa2.c
@@ -152,7 +152,9 @@ unsigned int dsa_bridge_num_get(const struct net_device *bridge_dev, int max)
unsigned int bridge_num = dsa_bridge_num_find(bridge_dev);
if (!bridge_num) {
- /* First port that offloads TX forwarding for this bridge */
+ /* First port that requests FDB isolation or TX forwarding
+ * offload for this bridge
+ */
bridge_num = find_next_zero_bit(&dsa_fwd_offloading_bridges,
DSA_MAX_NUM_OFFLOADING_BRIDGES,
1);