diff mbox series

[net-next] net: dsa: sja1105: make devlink property best_effort_vlan_filtering true by default

Message ID 20210213204632.1227098-1-olteanv@gmail.com
State New
Headers show
Series [net-next] net: dsa: sja1105: make devlink property best_effort_vlan_filtering true by default | expand

Commit Message

Vladimir Oltean Feb. 13, 2021, 8:46 p.m. UTC
From: Vladimir Oltean <vladimir.oltean@nxp.com>

The sja1105 driver has a limitation, extensively described under
Documentation/networking/dsa/sja1105.rst and
Documentation/networking/devlink/sja1105.rst, which says that when the
ports are under a bridge with vlan_filtering=1, traffic to and from
the network stack is not possible, unless the driver-specific
best_effort_vlan_filtering devlink parameter is enabled.

For users, this creates a 'wtf' moment. They need to go to the
documentation and find about the existence of this property, then maybe
install devlink and set it to true.

Having best_effort_vlan_filtering enabled by the kernel by default
delays that 'wtf' moment (maybe up to the point that it never even
happens). The user doesn't need to care that the driver supports
addressing the ports individually by retagging VLAN IDs until he/she
needs to use more than 32 VLAN IDs (since there can be at most 32
retagging rules). Only then do they need to think whether they need the
full VLAN table, at the expense of no individual port addressing, or
not.

But the odds that an sja1105 user will need more than 32 VLANs
terminated by the CPU is probably low. And, if we were to follow the
principle that more advanced use cases should require more advanced
preparation steps, then it makes more sense for ping to 'just work'
while CPU termination of > 32 VLAN IDs to require a bit more forethought
and possibly a driver-specific devlink param.

So we should be able to safely change the default here, and make this
driver act just a little bit more sanely out of the box.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
---
 drivers/net/dsa/sja1105/sja1105_main.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Florian Fainelli Feb. 14, 2021, 1:18 a.m. UTC | #1
On 2/13/2021 12:46, Vladimir Oltean wrote:
> From: Vladimir Oltean <vladimir.oltean@nxp.com>

> 

> The sja1105 driver has a limitation, extensively described under

> Documentation/networking/dsa/sja1105.rst and

> Documentation/networking/devlink/sja1105.rst, which says that when the

> ports are under a bridge with vlan_filtering=1, traffic to and from

> the network stack is not possible, unless the driver-specific

> best_effort_vlan_filtering devlink parameter is enabled.

> 

> For users, this creates a 'wtf' moment. They need to go to the

> documentation and find about the existence of this property, then maybe

> install devlink and set it to true.

> 

> Having best_effort_vlan_filtering enabled by the kernel by default

> delays that 'wtf' moment (maybe up to the point that it never even

> happens). The user doesn't need to care that the driver supports

> addressing the ports individually by retagging VLAN IDs until he/she

> needs to use more than 32 VLAN IDs (since there can be at most 32

> retagging rules). Only then do they need to think whether they need the

> full VLAN table, at the expense of no individual port addressing, or

> not.

> 

> But the odds that an sja1105 user will need more than 32 VLANs

> terminated by the CPU is probably low. And, if we were to follow the

> principle that more advanced use cases should require more advanced

> preparation steps, then it makes more sense for ping to 'just work'

> while CPU termination of > 32 VLAN IDs to require a bit more forethought

> and possibly a driver-specific devlink param.

> 

> So we should be able to safely change the default here, and make this

> driver act just a little bit more sanely out of the box.

> 

> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>


Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>

-- 
Florian
patchwork-bot+netdevbpf@kernel.org Feb. 15, 2021, 9:30 p.m. UTC | #2
Hello:

This patch was applied to netdev/net-next.git (refs/heads/master):

On Sat, 13 Feb 2021 22:46:32 +0200 you wrote:
> From: Vladimir Oltean <vladimir.oltean@nxp.com>

> 

> The sja1105 driver has a limitation, extensively described under

> Documentation/networking/dsa/sja1105.rst and

> Documentation/networking/devlink/sja1105.rst, which says that when the

> ports are under a bridge with vlan_filtering=1, traffic to and from

> the network stack is not possible, unless the driver-specific

> best_effort_vlan_filtering devlink parameter is enabled.

> 

> [...]


Here is the summary with links:
  - [net-next] net: dsa: sja1105: make devlink property best_effort_vlan_filtering true by default
    https://git.kernel.org/netdev/net-next/c/8841f6e63f2c

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
diff mbox series

Patch

diff --git a/drivers/net/dsa/sja1105/sja1105_main.c b/drivers/net/dsa/sja1105/sja1105_main.c
index 1dad94540cc9..260073e830c7 100644
--- a/drivers/net/dsa/sja1105/sja1105_main.c
+++ b/drivers/net/dsa/sja1105/sja1105_main.c
@@ -2936,6 +2936,8 @@  static int sja1105_setup(struct dsa_switch *ds)
 
 	ds->mtu_enforcement_ingress = true;
 
+	priv->best_effort_vlan_filtering = true;
+
 	rc = sja1105_devlink_setup(ds);
 	if (rc < 0)
 		return rc;