| From foo@baz Sun 01 Mar 2020 10:24:06 AM CET |
| From: Florian Fainelli <f.fainelli@gmail.com> |
| Date: Fri, 14 Feb 2020 15:26:19 -0800 |
| Subject: net: dsa: b53: Ensure the default VID is untagged |
| |
| From: Florian Fainelli <f.fainelli@gmail.com> |
| |
| [ Upstream commit d965a5432d4c3e6b9c3d2bc1d4a800013bbf76f6 ] |
| |
| We need to ensure that the default VID is untagged otherwise the switch |
| will be sending tagged frames and the results can be problematic. This |
| is especially true with b53 switches that use VID 0 as their default |
| VLAN since VID 0 has a special meaning. |
| |
| Fixes: fea83353177a ("net: dsa: b53: Fix default VLAN ID") |
| Fixes: 061f6a505ac3 ("net: dsa: Add ndo_vlan_rx_{add, kill}_vid implementation") |
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/dsa/b53/b53_common.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/drivers/net/dsa/b53/b53_common.c |
| +++ b/drivers/net/dsa/b53/b53_common.c |
| @@ -1353,6 +1353,9 @@ void b53_vlan_add(struct dsa_switch *ds, |
| |
| b53_get_vlan_entry(dev, vid, vl); |
| |
| + if (vid == 0 && vid == b53_default_pvid(dev)) |
| + untagged = true; |
| + |
| vl->members |= BIT(port); |
| if (untagged && !dsa_is_cpu_port(ds, port)) |
| vl->untag |= BIT(port); |