2020-08-07 11:16:04

by Hongbo Wang

[permalink] [raw]
Subject: [PATCH v5 0/2] Add 802.1AD protocol support for dsa switch and ocelot driver

From: "hongbo.wang" <[email protected]>

1. the patch 0001* is for setting single port into 802.1AD(QinQ) mode,
before this patch, the function dsa_slave_vlan_rx_add_vid didn't pass
the parameter "proto" to next port level, so switch's port can't get
parameter "proto"
after applying this patch, the following command can be supported:
ip link set br0 type bridge vlan_protocol 802.1ad
ip link add link swp1 name swp1.100 type vlan protocol 802.1ad id 100

2. the patch 0002* 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.

3. Version log
v5:
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
v4:
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 (2):
net: dsa: Add protocol support for 802.1AD when adding or deleting
vlan for dsa switch port
net: dsa: ocelot: Add support for QinQ Operation

drivers/net/dsa/ocelot/felix.c | 124 +++++++++++++++++++++++++++++
drivers/net/ethernet/mscc/ocelot.c | 40 ++++++++--
include/net/switchdev.h | 1 +
include/soc/mscc/ocelot.h | 4 +
net/bridge/br_switchdev.c | 22 +++++
net/dsa/dsa_priv.h | 4 +-
net/dsa/port.c | 6 +-
net/dsa/slave.c | 53 +++++++-----
net/dsa/tag_8021q.c | 4 +-
9 files changed, 228 insertions(+), 30 deletions(-)

--
2.17.1


2020-08-08 00:25:23

by David Miller

[permalink] [raw]
Subject: Re: [PATCH v5 0/2] Add 802.1AD protocol support for dsa switch and ocelot driver

From: [email protected]
Date: Fri, 7 Aug 2020 19:13:47 +0800

> From: "hongbo.wang" <[email protected]>
>
> 1. the patch 0001* is for setting single port into 802.1AD(QinQ) mode,
> before this patch, the function dsa_slave_vlan_rx_add_vid didn't pass
> the parameter "proto" to next port level, so switch's port can't get
> parameter "proto"
> after applying this patch, the following command can be supported:
> ip link set br0 type bridge vlan_protocol 802.1ad
> ip link add link swp1 name swp1.100 type vlan protocol 802.1ad id 100
>
> 2. the patch 0002* 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.
>
> 3. Version log
> v5:
> 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
> v4:
> 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

Please defer new feature changes, like this, until the net-next tree is open
again. It is closed right now.

Thank you.