[PATCH v2 1/2] include: net: add dsa_cpu_ports function

From: Ansuel Smith
Date: Tue Apr 06 2021 - 20:32:43 EST


In preparation for the future when dsa will support multi cpu port,
dsa_cpu_ports can be useful for switch that has multiple cpu port to
retrieve the cpu mask for ACL and bridge table.

Signed-off-by: Ansuel Smith <ansuelsmth@xxxxxxxxx>
---
include/net/dsa.h | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/include/net/dsa.h b/include/net/dsa.h
index d71b1acd9c3e..6d70a722d63f 100644
--- a/include/net/dsa.h
+++ b/include/net/dsa.h
@@ -458,6 +458,18 @@ static inline u32 dsa_cpu_ports(struct dsa_switch *ds)
return mask;
}

+static inline u32 dsa_cpu_ports(struct dsa_switch *ds)
+{
+ u32 mask = 0;
+ int p;
+
+ for (p = 0; p < ds->num_ports; p++)
+ if (dsa_is_cpu_port(ds, p))
+ mask |= BIT(p);
+
+ return mask;
+}
+
/* Return the local port used to reach an arbitrary switch device */
static inline unsigned int dsa_routing_port(struct dsa_switch *ds, int device)
{
--
2.30.2