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

From: Florian Fainelli
Date: Fri Sep 18 2020 - 20:23:23 EST

On 9/18/2020 5:20 PM, David Miller wrote:
Date: Wed, 16 Sep 2020 17:48:42 +0800

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.

You're going to have to update every single SWITCHDEV_PORT_ADD_OBJ handler
and subsequent helpers to check the validate the protocol value.

You also are going to have to make sure that every instantiated
switchdev_obj_port_vlan object initializes the vlan protocol field

Basically, now that this structure has a new member, everything that
operates on that object must be updated to handle the new protocol

And I do mean everything.

You can't just add the protocol handling to the locations you care
about for bridging and DSA.

You also have to more fully address the feedback given by Vladimir
in patch #3. Are the expectations on the user side a Linux based
expectation, or one specific about how this ASIC is expected to
behave by default. It is very unclear what you are talking about
when you say customer and ISP etc.

Switch vendors like to refer to the outer tag as ISP VLAN tag and inner tag as customer VLAN tag, sometimes S-TAG and C-TAG terms are used, too...