• Vladimir Oltean's avatar
    net: dsa: felix: tag_8021q preparation for multiple CPU ports · a4e044dc
    Vladimir Oltean authored
    Update the VCAP filters to support multiple tag_8021q CPU ports.
    
    TX works using a filter for VLAN ID on the ingress of the CPU port, with
    a redirect and a VLAN pop action. This can be updated trivially by
    amending the ingress port mask of this rule to match on all tag_8021q
    CPU ports.
    
    RX works using a filter for ingress port on the egress of the CPU port,
    with a VLAN push action. Here we need to replicate these filters for
    each tag_8021q CPU port, and let them all have the same action.
    This means that the OCELOT_VCAP_ES0_TAG_8021Q_RXVLAN() cookie needs to
    encode a unique value for every {user port, CPU port} pair it's given.
    Do this by encoding the CPU port in the upper 16 bits of the cookie, and
    the user port in the lower 16 bits.
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a4e044dc
felix.c 51.2 KB