[PATCH v6 0/3] Add 802.1AD protocol support for dsa switch and ocelot driver

From: hongbo . wang
Date: Wed Sep 16 2020 - 05:46:01 EST

From: "hongbo.wang" <hongbo.wang@xxxxxxx>

1. Overview
a) 0001* is for support to set dsa slave into 802.1AD(QinQ) mode.
b) 0002* is for vlan_proto support for br_switchdev_port_vlan_add and br_switchdev_port_vlan_del.
c) 0003* is for setting QinQ related registers in ocelot switch driver, after applying this patch, the switch(VSC99599)'s port can enable or disable QinQ mode.

2. Version log
a) put the code for switchdev into single patch
b) change code according to latest mainline

a) add devlink to enable qinq_mode of ocelot's single port
b) modify br_switchdev_port_vlan_add to pass bridge's vlan_proto to port driver
c) enable NETIF_F_HW_VLAN_STAG_FILTER in ocelot driver

a) modify slave.c to support "ip set br0 type bridge vlan_protocol 802.1ad"
b) modify ocelot.c, if enable QinQ, set VLAN_AWARE_ENA and VLAN_POP_CNT per
port when vlan_filter=1

v3: combine two patches to one post

hongbo.wang (3):
net: dsa: Add protocol support for 802.1AD when adding or deleting
vlan for dsa switch port
net: switchdev: Add VLAN protocol support for switchdev port
net: dsa: ocelot: Add support for QinQ Operation

drivers/net/dsa/ocelot/felix.c | 123 +++++++++++++++++++++++++++++
drivers/net/ethernet/mscc/ocelot.c | 39 +++++++--
include/net/switchdev.h | 1 +
include/soc/mscc/ocelot.h | 4 +
net/bridge/br_switchdev.c | 24 ++++++
net/dsa/slave.c | 51 ++++++++----
6 files changed, 221 insertions(+), 21 deletions(-)