net: bridge: propagate error code and extack from br_mc_disabled_update

Some Ethernet switches might only be able to support disabling multicast
snooping globally, which is an issue for example when several bridges
span the same physical device and request contradictory settings.

Propagate the return value of br_mc_disabled_update() such that this
limitation is transmitted correctly to user-space.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Florian Fainelli
2021-04-14 22:22:57 +03:00
committed by David S. Miller
parent 4a65912fde
commit ae1ea84b33
4 changed files with 27 additions and 16 deletions

View File

@@ -1293,7 +1293,9 @@ static int br_changelink(struct net_device *brdev, struct nlattr *tb[],
if (data[IFLA_BR_MCAST_SNOOPING]) {
u8 mcast_snooping = nla_get_u8(data[IFLA_BR_MCAST_SNOOPING]);
br_multicast_toggle(br, mcast_snooping);
err = br_multicast_toggle(br, mcast_snooping, extack);
if (err)
return err;
}
if (data[IFLA_BR_MCAST_QUERY_USE_IFADDR]) {