diff mbox series

[net-next,5/5,v2] net: dsa: rtl8366: Use top VLANs for default

Message ID 20200617083132.1847234-5-linus.walleij@linaro.org
State Superseded
Headers show
Series [net-next,1/5,v2] net: dsa: tag_rtl4_a: Implement Realtek 4 byte A tag | expand

Commit Message

Linus Walleij June 17, 2020, 8:31 a.m. UTC
The RTL8366 DSA switches will not work unless we set
up a default VLAN for each port. We are currently using
e.g. VLAN 1..6 for a 5-port switch as default VLANs.

This is not very helpful for users, move it to allocate
the top VLANs for default instead, for example on
RTL8366RB there are 16 VLANs so instead of using
VLAN 1..6 as default use VLAN 10..15 so VLAN 1
thru VLAN 9 is available for users.

Cc: DENG Qingfang <dqfext@gmail.com>
Cc: Mauri Sandberg <sandberg@mailfence.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

---
ChangeLog v1->v2:
- Rebase on v5.8-rc1.
---
 drivers/net/dsa/rtl8366.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.26.2

Comments

Andrew Lunn June 18, 2020, 1:42 a.m. UTC | #1
On Wed, Jun 17, 2020 at 10:31:32AM +0200, Linus Walleij wrote:
> The RTL8366 DSA switches will not work unless we set

> up a default VLAN for each port. We are currently using

> e.g. VLAN 1..6 for a 5-port switch as default VLANs.

> 

> This is not very helpful for users, move it to allocate

> the top VLANs for default instead, for example on

> RTL8366RB there are 16 VLANs so instead of using

> VLAN 1..6 as default use VLAN 10..15 so VLAN 1

> thru VLAN 9 is available for users.

> 

> Cc: DENG Qingfang <dqfext@gmail.com>

> Cc: Mauri Sandberg <sandberg@mailfence.com>

> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

> ---

> ChangeLog v1->v2:

> - Rebase on v5.8-rc1.

> ---

>  drivers/net/dsa/rtl8366.c | 4 ++--

>  1 file changed, 2 insertions(+), 2 deletions(-)

> 

> diff --git a/drivers/net/dsa/rtl8366.c b/drivers/net/dsa/rtl8366.c

> index 7f0691a6da13..4e7562b41598 100644

> --- a/drivers/net/dsa/rtl8366.c

> +++ b/drivers/net/dsa/rtl8366.c

> @@ -260,8 +260,8 @@ static int rtl8366_set_default_vlan_and_pvid(struct realtek_smi *smi,

>  	u16 vid;

>  	int ret;

>  

> -	/* This is the reserved default VLAN for this port */

> -	vid = port + 1;

> +	/* Use the top VLANs for per-port default VLAN */

> +	vid = smi->num_vlan_mc - smi->num_ports + port;


Hi Linus

I've not looked at the whole driver much, but i'm surprised the change
is this small. Is there any checks when user space ask for a VLAN to
be added to a port to see if it is already in use an return -EBUSY or
-EINVAL or something?

	Andrew
diff mbox series

Patch

diff --git a/drivers/net/dsa/rtl8366.c b/drivers/net/dsa/rtl8366.c
index 7f0691a6da13..4e7562b41598 100644
--- a/drivers/net/dsa/rtl8366.c
+++ b/drivers/net/dsa/rtl8366.c
@@ -260,8 +260,8 @@  static int rtl8366_set_default_vlan_and_pvid(struct realtek_smi *smi,
 	u16 vid;
 	int ret;
 
-	/* This is the reserved default VLAN for this port */
-	vid = port + 1;
+	/* Use the top VLANs for per-port default VLAN */
+	vid = smi->num_vlan_mc - smi->num_ports + port;
 
 	if (port == smi->cpu_port)
 		/* For the CPU port, make all ports members of this