RE: [EXT] Re: [PATCH v6 3/3] net: dsa: ocelot: Add support for QinQ Operation
From: Hongbo Wang <hidden>
Date: 2020-09-17 02:38:13
Also in:
lkml
On Wed, Sep 16, 2020 at 10:28:38AM +0000, Hongbo Wang wrote:quoted
Hi Vladimir, 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=0quoted
swp1 should set VLAN_CFG.VLAN_POP_CNT=1 &&VLAN_CFG.VLAN_AWARE_ENA=1quoted
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.But if you make VLAN_CFG.VLAN_AWARE_ENA=0, does that mean the switch will accept any 802.1ad VLAN, not only those configured in the VLAN database of the bridge? Otherwise said, after running the commands above, and I send a packet to swp0 having tpid:88A8 vid:101, then the bridge should not accept it. I might be wrong, but I thought that an 802.1ad bridge with vlan_filtering=1 behaves the same as an 802.1q bridge, except that it should filter VLANs using a different TPID (0x88a8 instead of 0x8100). I don't think the driver, in the way you're configuring it, does that, does it?
hi Vladimir, you can refer to "4.3.3.0.1 MAN Access Switch Example" in VSC99599_1_00_TS.pdf, By testing the case, if don't set VLAN_AWARE_ENA=0 for customer's port swp0, the Q-in-Q feature can't work well. In order to distinguish the port for customer and for ISP, I add devlink command, Actually, I can modify the driver config directly, not using devlink, but it will be not compatible with current code and user guide. Thanks, hongbo