lkml.org 
[lkml]   [2022]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 044/124] net: mscc: ocelot: fix broken IP multicast flooding
    Date
    From: Vladimir Oltean <vladimir.oltean@nxp.com>

    [ Upstream commit 4cf35a2b627a020fe1a6b6fc7a6a12394644e474 ]

    When the user runs:
    bridge link set dev $br_port mcast_flood on

    this command should affect not only L2 multicast, but also IPv4 and IPv6
    multicast.

    In the Ocelot switch, unknown multicast gets flooded according to
    different PGIDs according to its type, and PGID_MC only handles L2
    multicast. Therefore, by leaving PGID_MCIPV4 and PGID_MCIPV6 at their
    default value of 0, unknown IP multicast traffic is never flooded.

    Fixes: 421741ea5672 ("net: mscc: ocelot: offload bridge port flags to device")
    Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
    Link: https://lore.kernel.org/r/20220415151950.219660-1-vladimir.oltean@nxp.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/mscc/ocelot.c | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/drivers/net/ethernet/mscc/ocelot.c b/drivers/net/ethernet/mscc/ocelot.c
    index 6aad0953e8fe..a59300d9e000 100644
    --- a/drivers/net/ethernet/mscc/ocelot.c
    +++ b/drivers/net/ethernet/mscc/ocelot.c
    @@ -1932,6 +1932,8 @@ static void ocelot_port_set_mcast_flood(struct ocelot *ocelot, int port,
    val = BIT(port);

    ocelot_rmw_rix(ocelot, val, BIT(port), ANA_PGID_PGID, PGID_MC);
    + ocelot_rmw_rix(ocelot, val, BIT(port), ANA_PGID_PGID, PGID_MCIPV4);
    + ocelot_rmw_rix(ocelot, val, BIT(port), ANA_PGID_PGID, PGID_MCIPV6);
    }

    static void ocelot_port_set_bcast_flood(struct ocelot *ocelot, int port,
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-04-26 11:13    [W:4.112 / U:0.380 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site