linux/drivers/net/dsa/ocelot
Vladimir Oltean a4e044dc4c net: dsa: felix: tag_8021q preparation for multiple CPU ports
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: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-05-23 10:39:55 +01:00
..
felix_vsc9959.c net: mscc: ocelot: switch from {,un}set to {,un}assign for tag_8021q CPU ports 2022-05-23 10:39:54 +01:00
felix.c net: dsa: felix: tag_8021q preparation for multiple CPU ports 2022-05-23 10:39:55 +01:00
felix.h net: dsa: felix: reimplement tagging protocol change with function pointers 2022-05-12 16:38:55 -07:00
Kconfig net: dsa: ocelot: felix: utilize shared mscc-miim driver for indirect MDIO access 2021-11-29 13:02:00 +00:00
Makefile net: dsa: seville: build as separate module 2020-09-18 17:52:51 -07:00
seville_vsc9953.c net: dsa: ocelot: accept 1000base-X for VSC9959 and VSC9953 2022-05-11 15:24:37 -07:00