Re: [PATCH net-next 00/15] Traffic support for dsa_8021q in vlan_filtering=1 mode

From: Vladimir Oltean
Date: Mon May 11 2020 - 07:06:55 EST


On Sun, 10 May 2020 at 19:43, Vladimir Oltean <olteanv@xxxxxxxxx> wrote:
>
> From: Vladimir Oltean <vladimir.oltean@xxxxxxx>
>
> This series is an attempt to support as much as possible in terms of
> traffic I/O from the network stack with the only dsa_8021q user thus
> far, sja1105.
>
> The hardware doesn't support pushing a second VLAN tag to packets that
> are already tagged, so our only option is to combine the dsa_8021q with
> the user tag into a single tag and decode that on the CPU.
>
> The assumption is that there is a type of use cases for which 7 VLANs
> per port are more than sufficient, and that there's another type of use
> cases where the full 4096 entries are barely enough. Those use cases are
> very different from one another, so I prefer trying to give both the
> best experience by creating this best_effort_vlan_filtering knob to
> select the mode in which they want to operate in.
>
> This series depends on "[v4,resend,net-next,0/4] Cross-chip bridging for
> disjoint DSA trees", submitted here:
> https://patchwork.ozlabs.org/project/netdev/cover/20200510163743.18032-1-olteanv@xxxxxxxxx/
>
> Russell King (1):
> net: dsa: provide an option for drivers to always receive bridge VLANs
>
> Vladimir Oltean (14):
> net: dsa: tag_8021q: introduce a vid_is_dsa_8021q helper
> net: dsa: sja1105: keep the VLAN awareness state in a driver variable
> net: dsa: sja1105: deny alterations of dsa_8021q VLANs from the bridge
> net: dsa: sja1105: save/restore VLANs using a delta commit method
> net: dsa: sja1105: allow VLAN configuration from the bridge in all
> states
> net: dsa: sja1105: exit sja1105_vlan_filtering when called multiple
> times
> net: dsa: sja1105: prepare tagger for handling DSA tags and VLAN
> simultaneously
> net: dsa: tag_8021q: support up to 8 VLANs per port using sub-VLANs
> net: dsa: tag_sja1105: implement sub-VLAN decoding
> net: dsa: sja1105: add a new best_effort_vlan_filtering devlink
> parameter
> net: dsa: sja1105: add packing ops for the Retagging Table
> net: dsa: sja1105: implement a common frame memory partitioning
> function
> net: dsa: sja1105: implement VLAN retagging for dsa_8021q sub-VLANs
> docs: net: dsa: sja1105: document the best_effort_vlan_filtering
> option
>
> .../networking/devlink-params-sja1105.txt | 27 +
> Documentation/networking/dsa/sja1105.rst | 211 +++-
> drivers/net/dsa/sja1105/sja1105.h | 29 +
> .../net/dsa/sja1105/sja1105_dynamic_config.c | 33 +
> drivers/net/dsa/sja1105/sja1105_main.c | 1072 +++++++++++++++--
> drivers/net/dsa/sja1105/sja1105_spi.c | 6 +
> .../net/dsa/sja1105/sja1105_static_config.c | 62 +-
> .../net/dsa/sja1105/sja1105_static_config.h | 16 +
> drivers/net/dsa/sja1105/sja1105_vl.c | 20 +-
> include/linux/dsa/8021q.h | 42 +-
> include/linux/dsa/sja1105.h | 5 +
> include/net/dsa.h | 1 +
> net/dsa/slave.c | 12 +-
> net/dsa/tag_8021q.c | 108 +-
> net/dsa/tag_sja1105.c | 38 +-
> 15 files changed, 1443 insertions(+), 239 deletions(-)
> create mode 100644 Documentation/networking/devlink-params-sja1105.txt
>
> --
> 2.17.1
>

Sorry to repost before receiving any feedback, but there are some
small fixups I need to make.

Thanks,
-Vladimir