summaryrefslogtreecommitdiffstats
path: root/drivers/net/dsa/sja1105/sja1105_main.c
diff options
context:
space:
mode:
authorVladimir Oltean2019-06-02 23:15:33 +0200
committerDavid S. Miller2019-06-04 20:49:20 +0200
commit2a7e7409298d5e0a51e7ff23dc0befc6fdef69d1 (patch)
tree7a066867a3624d53e8870f24d7e229902cd33376 /drivers/net/dsa/sja1105/sja1105_main.c
parentnet: dsa: sja1105: Make dynamic_config_read return -ENOENT if not found (diff)
downloadkernel-qcow2-linux-2a7e7409298d5e0a51e7ff23dc0befc6fdef69d1.tar.gz
kernel-qcow2-linux-2a7e7409298d5e0a51e7ff23dc0befc6fdef69d1.tar.xz
kernel-qcow2-linux-2a7e7409298d5e0a51e7ff23dc0befc6fdef69d1.zip
net: dsa: sja1105: Add P/Q/R/S management route support via dynamic interface
Management routes are one-shot FDB rules installed on the CPU port for sending link-local traffic. They are a prerequisite for STP, PTP etc to work. Also make a note that removing a management route was not supported on the previous generation of switches. Signed-off-by: Vladimir Oltean <olteanv@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/sja1105/sja1105_main.c')
-rw-r--r--drivers/net/dsa/sja1105/sja1105_main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/dsa/sja1105/sja1105_main.c b/drivers/net/dsa/sja1105/sja1105_main.c
index dc9803efdbbd..f9bbc780f835 100644
--- a/drivers/net/dsa/sja1105/sja1105_main.c
+++ b/drivers/net/dsa/sja1105/sja1105_main.c
@@ -1475,6 +1475,8 @@ static int sja1105_mgmt_xmit(struct dsa_switch *ds, int port, int slot,
if (!timeout) {
/* Clean up the management route so that a follow-up
* frame may not match on it by mistake.
+ * This is only hardware supported on P/Q/R/S - on E/T it is
+ * a no-op and we are silently discarding the -EOPNOTSUPP.
*/
sja1105_dynamic_config_write(priv, BLK_IDX_MGMT_ROUTE,
slot, &mgmt_route, false);