[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201031102916.667619-1-vladimir.oltean@nxp.com>
Date: Sat, 31 Oct 2020 12:29:09 +0200
From: Vladimir Oltean <vladimir.oltean@....com>
To: Microchip Linux Driver Support <UNGLinuxDriver@...rochip.com>,
Claudiu Manoil <claudiu.manoil@....com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH net-next 0/7] VLAN improvements for Ocelot switch
The main reason why I started this work is that deleting the bridge mdb
entries fails when the bridge is deleted, as described here:
https://lore.kernel.org/netdev/20201015173355.564934-1-vladimir.oltean@nxp.com/
In short, that happens because the bridge mdb entries are added with a
vid of 1, but deletion is attempted with a vid of 0. So the deletion
code fails to find the mdb entries.
The solution is to make ocelot use a pvid of 0 when it is under a bridge
with vlan_filtering 0. When vlan_filtering is 1, the pvid of the bridge
is what is programmed into the hardware.
The patch series also uncovers more bugs and does some more cleanup, but
the above is the main idea behind it.
Vladimir Oltean (7):
net: mscc: ocelot: use the pvid of zero when bridged with
vlan_filtering=0
net: mscc: ocelot: don't reset the pvid to 0 when deleting it
net: mscc: ocelot: transform the pvid and native vlan values into a
structure
net: mscc: ocelot: add a "valid" boolean to struct ocelot_vlan
net: mscc: ocelot: move the logic to drop 802.1p traffic to the pvid
deletion
net: mscc: ocelot: deny changing the native VLAN from the prepare
phase
net: dsa: felix: improve the workaround for multiple native VLANs on
NPI port
drivers/net/dsa/ocelot/felix.c | 27 ++++-
drivers/net/ethernet/mscc/ocelot.c | 147 +++++++++++++------------
drivers/net/ethernet/mscc/ocelot_net.c | 38 +++++--
include/soc/mscc/ocelot.h | 17 ++-
4 files changed, 138 insertions(+), 91 deletions(-)
--
2.25.1
Powered by blists - more mailing lists