• Vladimir Oltean's avatar
    net: dsa: felix: program host FDB entries towards PGID_CPU for tag_8021q too · e9b3ba43
    Vladimir Oltean authored
    I remembered why we had the host FDB migration procedure in place.
    
    It is true that host FDB entry migration can be done by changing the
    value of PGID_CPU, but the problem is that only host FDB entries learned
    while operating in NPI mode go to PGID_CPU. When the CPU port operates
    in tag_8021q mode, the FDB entries are learned towards the unicast PGID
    equal to the physical port number of this CPU port, bypassing the
    PGID_CPU indirection.
    
    So host FDB entries learned in tag_8021q mode are not migrated any
    longer towards the NPI port.
    
    Fix this by extracting the NPI port -> PGID_CPU redirection from the
    ocelot switch lib, moving it to the Felix DSA driver, and applying it
    for any CPU port regardless of its kind (NPI or tag_8021q).
    
    Fixes: a51c1c3f ("net: dsa: felix: stop migrating FDBs back and forth on tag proto change")
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    e9b3ba43
ocelot.c 90.5 KB