[PATCH v3 net-next 2/7] net: dsa: be louder when a non-legacy FDB operation fails

From: Vladimir Oltean
Date: Sun Dec 13 2020 - 09:09:55 EST


The dev_close() call was added in commit c9eb3e0f8701 ("net: dsa: Add
support for learning FDB through notification") "to indicate inconsistent
situation" when we could not delete an FDB entry from the port.

bridge fdb del d8:58:d7:00:ca:6d dev swp0 self master

It is a bit drastic and at the same time not helpful if the above fails
to only print with netdev_dbg log level, but on the other hand to bring
the interface down.

So increase the verbosity of the error message, and drop dev_close().

Signed-off-by: Vladimir Oltean <vladimir.oltean@xxxxxxx>
---
Changes in v3:
Patch is new.

net/dsa/slave.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 4a0498bf6c65..d5d389300124 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -2072,7 +2072,9 @@ static void dsa_slave_switchdev_event_work(struct work_struct *work)

err = dsa_port_fdb_add(dp, fdb_info->addr, fdb_info->vid);
if (err) {
- netdev_dbg(dev, "fdb add failed err=%d\n", err);
+ netdev_err(dev,
+ "failed to add %pM vid %d to fdb: %d\n",
+ fdb_info->addr, fdb_info->vid, err);
break;
}
fdb_info->offloaded = true;
@@ -2087,9 +2089,11 @@ static void dsa_slave_switchdev_event_work(struct work_struct *work)

err = dsa_port_fdb_del(dp, fdb_info->addr, fdb_info->vid);
if (err) {
- netdev_dbg(dev, "fdb del failed err=%d\n", err);
- dev_close(dev);
+ netdev_err(dev,
+ "failed to delete %pM vid %d from fdb: %d\n",
+ fdb_info->addr, fdb_info->vid, err);
}
+
break;
}
rtnl_unlock();
--
2.25.1