RE: [EXT] Re: [PATCH v6 3/3] net: dsa: ocelot: Add support for QinQ Operation
From: Hongbo Wang <hidden>
Date: 2020-09-16 13:01:33
Also in:
lkml
Hi Vladimir,
-----Original Message----- From: Vladimir Oltean <olteanv@gmail.com> Sent: 2020年9月16日 18:00 To: Hongbo Wang <redacted> Cc: Xiaoliang Yang <redacted>; Po Liu <redacted>; Mingkai Hu [off-list ref]; allan.nielsen@microchip.com; Claudiu Manoil [off-list ref]; Alexandru Marginean [off-list ref]; Vladimir Oltean [off-list ref]; Leo Li [off-list ref]; andrew@lunn.ch; f.fainelli@gmail.com; vivien.didelot@gmail.com; davem@davemloft.net; jiri@resnulli.us; idosch@idosch.org; kuba@kernel.org; vinicius.gomes@intel.com; nikolay@cumulusnetworks.com; roopa@cumulusnetworks.com; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; horatiu.vultur@microchip.com; alexandre.belloni@bootlin.com; UNGLinuxDriver@microchip.com; ivecera@redhat.com Subject: [EXT] Re: [PATCH v6 3/3] net: dsa: ocelot: Add support for QinQ Operation Caution: EXT Email Hi Hongbo, On Wed, Sep 16, 2020 at 05:48:45PM +0800, hongbo.wang@nxp.com wrote:quoted
From: "hongbo.wang" <redacted> This feature can be test in the following case: Customer <-----> swp0 <-----> swp1 <-----> ISP Customer will send and receive packets with single VLAN tag(CTAG), ISP will send and receive packets with double VLAN tag(STAG and CTAG). This refers to "4.3.3 Provider Bridges and Q-in-Q Operation" in VSC99599_1_00_TS.pdf. The related test commands: 1. devlink dev param set pci/0000:00:00.5 name qinq_port_bitmap \ value 2 cmode runtime 2. ip link add dev br0 type bridge vlan_protocol 802.1ad ip link set dev swp0 master br0 ip link set dev swp1 master br0 ip link set dev br0 type bridge vlan_filtering 1 3. bridge vlan del dev swp0 vid 1 pvid bridge vlan add dev swp0 vid 100 pvid untagged bridge vlan add dev swp1 vid 100 Result: Customer(tpid:8100 vid:111) -> swp0 -> swp1 -> ISP(STAG \ tpid:88A8 vid:100, CTAG tpid:8100 vid:111) ISP(tpid:88A8 vid:100 tpid:8100 vid:222) -> swp1 -> swp0 ->\ Customer(tpid:8100 vid:222) Signed-off-by: hongbo.wang <redacted> ---Can you please explain what is the purpose of the devlink parameter command? As far as I understand, the commands from step 2 and 3 should behave like that, even without running the command at step 1.
if swp0 connects with customer, and swp1 connects with ISP, According to the VSC99599_1_00_TS.pdf, swp0 and swp1 will have different VLAN_POP_CNT && VLAN_AWARE_ENA, swp0 should set VLAN_CFG.VLAN_POP_CNT=0 && VLAN_CFG.VLAN_AWARE_ENA=0 swp1 should set VLAN_CFG.VLAN_POP_CNT=1 && VLAN_CFG.VLAN_AWARE_ENA=1 but when set vlan_filter=1, current code will set same value for both swp0 and swp1, for compatibility with existing code(802.1Q mode), so add devlink to set swp0 and swp1 into different modes. Thanks, hongbo