]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: bridge: allow br_fdb_replay to be called for the bridge device
authorVladimir Oltean <vladimir.oltean@nxp.com>
Tue, 29 Jun 2021 14:06:46 +0000 (17:06 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Jun 2021 17:46:23 +0000 (10:46 -0700)
When a port joins a bridge which already has local FDB entries pointing
to the bridge device itself, we would like to offload those, so allow
the "dev" argument to be equal to the bridge too. The code already does
what we need in that case.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_fdb.c

index bad7e84d76af498a22cd5d5a49320cd225b63ce1..2b862cffc03a0868b4d1bb5e318ca9928e34d0f0 100644 (file)
@@ -760,7 +760,10 @@ int br_fdb_replay(const struct net_device *br_dev, const struct net_device *dev,
        unsigned long action;
        int err = 0;
 
-       if (!netif_is_bridge_master(br_dev) || !netif_is_bridge_port(dev))
+       if (!netif_is_bridge_master(br_dev))
+               return -EINVAL;
+
+       if (!netif_is_bridge_port(dev) && !netif_is_bridge_master(dev))
                return -EINVAL;
 
        br = netdev_priv(br_dev);