From: DENG Qingfang <dqfext@gmail.com> Date: 2021-08-24 16:53:37
The driver was relying on dsa_slave_vlan_rx_add_vid to add VLAN ID 0. After
the blamed commit, VLAN ID 0 won't be set up anymore, breaking software
bridging fallback on VLAN-unaware bridges.
Manually set up VLAN ID 0 to fix this.
Fixes: 06cfb2df7eb0 ("net: dsa: don't advertise 'rx-vlan-filter' when not needed")
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
---
drivers/net/dsa/mt7530.c | 25 +++++++++++++++++++++++++
drivers/net/dsa/mt7530.h | 2 ++
2 files changed, 27 insertions(+)
From: Vladimir Oltean <olteanv@gmail.com> Date: 2021-08-24 17:08:18
On Wed, Aug 25, 2021 at 12:52:52AM +0800, DENG Qingfang wrote:
The driver was relying on dsa_slave_vlan_rx_add_vid to add VLAN ID 0. After
the blamed commit, VLAN ID 0 won't be set up anymore, breaking software
bridging fallback on VLAN-unaware bridges.
Manually set up VLAN ID 0 to fix this.
Fixes: 06cfb2df7eb0 ("net: dsa: don't advertise 'rx-vlan-filter' when not needed")
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
---
I understand that this is how you noticed the issue, but please remember
that one can always compile a kernel with CONFIG_VLAN_8021Q=n. So the
issue predates my patch by much longer. You might reconsider the Fixes:
tag in light of this, maybe the patch needs to be sent to stable.
From: DENG Qingfang <dqfext@gmail.com> Date: 2021-08-24 17:57:33
On Tue, Aug 24, 2021 at 07:57:42PM +0300, Vladimir Oltean wrote:
I understand that this is how you noticed the issue, but please remember
that one can always compile a kernel with CONFIG_VLAN_8021Q=n. So the
issue predates my patch by much longer. You might reconsider the Fixes:
tag in light of this, maybe the patch needs to be sent to stable.
Okay. So the Fixes tag should be 6087175b7991, which initially adds the
software fallback support for mt7530.
quoted
+static int
+mt7530_setup_vlan0(struct mt7530_priv *priv)
+{
+ u32 val;
+
+ /* Validate the entry with independent learning, keep the original
+ * ingress tag attribute.
+ */
+ val = IVL_MAC | EG_CON | PORT_MEM(MT7530_ALL_MEMBERS) | FID(FID_BRIDGED) |
From: Vladimir Oltean <olteanv@gmail.com> Date: 2021-08-24 17:58:25
On Wed, Aug 25, 2021 at 01:32:37AM +0800, DENG Qingfang wrote:
On Tue, Aug 24, 2021 at 07:57:42PM +0300, Vladimir Oltean wrote:
quoted
I understand that this is how you noticed the issue, but please remember
that one can always compile a kernel with CONFIG_VLAN_8021Q=n. So the
issue predates my patch by much longer. You might reconsider the Fixes:
tag in light of this, maybe the patch needs to be sent to stable.
Okay. So the Fixes tag should be 6087175b7991, which initially adds the
software fallback support for mt7530.
Ok. Did the old code not need VLAN 0 for VLAN-unaware ports, or are you
saying that since the VLAN table lookup was bypassed completely in the
old code, 'no VLAN 0' was an inconsequential error?
I think it's the latter. Just wanted to make sure. So that means, either
this Fixes: tag or the other, the patch still belongs to net-next. From
my side you shouldn't need to resend.
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
quoted
quoted
+static int
+mt7530_setup_vlan0(struct mt7530_priv *priv)
+{
+ u32 val;
+
+ /* Validate the entry with independent learning, keep the original
+ * ingress tag attribute.
+ */
+ val = IVL_MAC | EG_CON | PORT_MEM(MT7530_ALL_MEMBERS) | FID(FID_BRIDGED) |
FID_BRIDGED?
What's wrong with that?
Nothing, I had a senior moment and I forgot how mt7530 sets up things.
The driver was relying on dsa_slave_vlan_rx_add_vid to add VLAN ID 0. After
the blamed commit, VLAN ID 0 won't be set up anymore, breaking software
bridging fallback on VLAN-unaware bridges.
Manually set up VLAN ID 0 to fix this.
Fixes: 06cfb2df7eb0 ("net: dsa: don't advertise 'rx-vlan-filter' when not needed")
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
From: DENG Qingfang <dqfext@gmail.com> Date: 2021-08-25 03:56:10
On Tue, Aug 24, 2021 at 08:37:14PM +0300, Vladimir Oltean wrote:
On Wed, Aug 25, 2021 at 01:32:37AM +0800, DENG Qingfang wrote:
quoted
Okay. So the Fixes tag should be 6087175b7991, which initially adds the
software fallback support for mt7530.
Ok. Did the old code not need VLAN 0 for VLAN-unaware ports, or are you
saying that since the VLAN table lookup was bypassed completely in the
old code, 'no VLAN 0' was an inconsequential error?
I think it's the latter. Just wanted to make sure. So that means, either
this Fixes: tag or the other, the patch still belongs to net-next. From
my side you shouldn't need to resend.
You're right. The old code does not use VLAN table lookup for VLAN-unaware
ports, and the current code set VLAN-unaware ports to fallback mode so
missing VLAN 0 will only make them fallback to SVL.
Hello:
This patch was applied to netdev/net-next.git (refs/heads/master):
On Wed, 25 Aug 2021 00:52:52 +0800 you wrote:
The driver was relying on dsa_slave_vlan_rx_add_vid to add VLAN ID 0. After
the blamed commit, VLAN ID 0 won't be set up anymore, breaking software
bridging fallback on VLAN-unaware bridges.
Manually set up VLAN ID 0 to fix this.
Fixes: 06cfb2df7eb0 ("net: dsa: don't advertise 'rx-vlan-filter' when not needed")
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
[...]