• Vladimir Oltean's avatar
    net: dsa: felix: support FDB entries on offloaded LAG interfaces · 961d8b69
    Vladimir Oltean authored
    This adds the logic in the Felix DSA driver and Ocelot switch library.
    For Ocelot switches, the DEST_IDX that is the output of the MAC table
    lookup is a logical port (equal to physical port, if no LAG is used, or
    a dynamically allocated number otherwise). The allocation we have in
    place for LAG IDs is different from DSA's, so we can't use that:
    - DSA allocates a continuous range of LAG IDs starting from 1
    - Ocelot appears to require that physical ports and LAG IDs are in the
      same space of [0, num_phys_ports), and additionally, ports that aren't
      in a LAG must have physical port id == logical port id
    
    The implication is that an FDB entry towards a LAG might need to be
    deleted and reinstalled when the LAG ID changes.
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    961d8b69
ocelot.h 29.4 KB