mbox series

[v5,0/2] Add 802.1AD protocol support for dsa switch and ocelot driver

Message ID 20200807111349.20649-1-hongbo.wang@nxp.com
Headers show
Series Add 802.1AD protocol support for dsa switch and ocelot driver | expand

Message

Hongbo Wang Aug. 7, 2020, 11:13 a.m. UTC
From: "hongbo.wang" <hongbo.wang@nxp.com>

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(-)

Comments

David Miller Aug. 8, 2020, 12:24 a.m. UTC | #1
From: hongbo.wang@nxp.com
Date: Fri,  7 Aug 2020 19:13:47 +0800

> From: "hongbo.wang" <hongbo.wang@nxp.com>
> 
> 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.