From: Vladimir Oltean <vladimir.olt...@nxp.com>

Similar to the "bridge is multicast router" case, unknown multicast
should be flooded by this bridge to the ports where a multicast router
is connected.

Signed-off-by: Vladimir Oltean <vladimir.olt...@nxp.com>
---
 net/dsa/slave.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 2743d689f6b1..c023f1120736 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -467,7 +467,12 @@ static int dsa_slave_port_attr_set(struct net_device *dev,
        case SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS:
                ret = dsa_port_bridge_flags(dp, attr->u.brport_flags, trans);
                break;
+       case SWITCHDEV_ATTR_ID_PORT_MROUTER:
+               /* A multicast router is connected to this external port */
+               ret = dsa_port_mrouter(dp, attr->u.mrouter, trans);
+               break;
        case SWITCHDEV_ATTR_ID_BRIDGE_MROUTER:
+               /* The local bridge is a multicast router */
                ret = dsa_port_mrouter(dp->cpu_dp, attr->u.mrouter, trans);
                break;
        default:
-- 
2.25.1

Reply via email to