diff mbox series

[v1,11/26] net: dsa: microchip: ksz8: ksz8_fdb_dump: dump static MAC table

Message ID 20221128115958.4049431-12-o.rempel@pengutronix.de (mailing list archive)
State Superseded
Delegated to: Netdev Maintainers
Headers show
Series net: dsa: microchip: stats64, fdb, error | expand

Checks

Context Check Description
netdev/tree_selection success Guessing tree name failed - patch did not apply

Commit Message

Oleksij Rempel Nov. 28, 2022, 11:59 a.m. UTC
Extend fdb_dump with static MAC table dump.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
 drivers/net/dsa/microchip/ksz8795.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
diff mbox series

Patch

diff --git a/drivers/net/dsa/microchip/ksz8795.c b/drivers/net/dsa/microchip/ksz8795.c
index 308b46bb2ce5..392f6cb1f706 100644
--- a/drivers/net/dsa/microchip/ksz8795.c
+++ b/drivers/net/dsa/microchip/ksz8795.c
@@ -952,6 +952,23 @@  int ksz8_fdb_dump(struct ksz_device *dev, int port,
 	u16 i, entries = 0;
 	int ret;
 
+	for (i = 0; i  < dev->info->num_statics; i++) {
+		struct alu_struct alu;
+
+		ret = ksz8_r_sta_mac_table(dev, i, &alu);
+		if (ret == -ENXIO)
+			continue;
+		if (ret)
+			return ret;
+
+		if (!(alu.port_forward & BIT(port)))
+			continue;
+
+		ret = cb(alu.mac, 0, true, data);
+		if (ret)
+			return ret;
+	}
+
 	for (i = 0; i < KSZ8_DYN_MAC_ENTRIES; i++) {
 		u8 mac[ETH_ALEN];
 		u8 src_port;