Message ID | 20210106131006.577312-1-olteanv@gmail.com |
---|---|
Headers | show |
Series | Get rid of the switchdev transactional model | expand |
On Wed, Jan 06, 2021 at 03:09:57PM +0200, Vladimir Oltean wrote: > Let's go off and finish the job of commit 29ab586c3d83 by deleting the > bogus iteration through the VLAN ranges from the drivers. Some aspects > of this feature never made too much sense in the first place. For > example, what is a range of VLANs all having the BRIDGE_VLAN_INFO_PVID > flag supposed to mean, when a port can obviously have a single pvid? The > switchdev drivers have so far interpreted this to mean that the last > VLAN in the range should be the only one which should get programmed > with that attribute. See commit 6623c60dc28e ("bridge: vlan: enforce no pvid flag in vlan ranges") > Of the existing switchdev pieces of hardware, it appears that only > Mellanox Spectrum supports offloading more than one VLAN at a time. > I have kept that code internal to the driver, because there is some more > bookkeeping that makes use of it, but I deleted it from the switchdev > API. But since the switchdev support for ranges has already been de > facto deleted by a Mellanox employee and nobody noticed for 4 years, I'm > going to assume it's not a biggie. Which code are you referring to? > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> For the switchdev and mlxsw parts: Reviewed-by: Ido Schimmel <idosch@nvidia.com> I applied the series to our queue, so I should have regression results tomorrow
On Wed, Jan 06, 2021 at 03:10:06PM +0200, Vladimir Oltean wrote: > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > Now that all users of struct switchdev_trans have been modified to do > without it, we can remove this structure and the two helpers to determine > the phase. > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> > Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> > Acked-by: Linus Walleij <linus.walleij@linaro.org> > Acked-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com>
From: Vladimir Oltean <vladimir.oltean@nxp.com> This series comes after the late realization that the prepare/commit separation imposed by switchdev does not help literally anybody: https://patchwork.kernel.org/project/netdevbpf/patch/20201212203901.351331-1-vladimir.oltean@nxp.com/ We should kill it before it inflicts even more damage to the error handling logic in drivers. Also remove the unused VLAN ranges feature from the switchdev VLAN objects, which simplifies all drivers by quite a bit. Vladimir Oltean (10): net: switchdev: remove vid_begin -> vid_end range from VLAN objects net: switchdev: remove the transaction structure from port object notifiers net: switchdev: delete switchdev_port_obj_add_now net: switchdev: remove the transaction structure from port attributes net: dsa: remove the transactional logic from ageing time notifiers net: dsa: remove the transactional logic from MDB entries net: dsa: remove the transactional logic from VLAN objects net: dsa: remove obsolete comments about switchdev transactions mlxsw: spectrum_switchdev: remove transactional logic for VLAN objects net: switchdev: delete the transaction object drivers/net/dsa/b53/b53_common.c | 96 +++++----- drivers/net/dsa/b53/b53_priv.h | 15 +- drivers/net/dsa/bcm_sf2.c | 2 - drivers/net/dsa/bcm_sf2_cfp.c | 10 +- drivers/net/dsa/dsa_loop.c | 68 +++----- drivers/net/dsa/hirschmann/hellcreek.c | 39 ++--- drivers/net/dsa/lan9303-core.c | 12 +- drivers/net/dsa/lantiq_gswip.c | 100 ++++------- drivers/net/dsa/microchip/ksz8795.c | 76 ++++---- drivers/net/dsa/microchip/ksz9477.c | 96 +++++----- drivers/net/dsa/microchip/ksz_common.c | 25 +-- drivers/net/dsa/microchip/ksz_common.h | 8 +- drivers/net/dsa/mt7530.c | 52 ++---- drivers/net/dsa/mv88e6xxx/chip.c | 147 ++++++++-------- drivers/net/dsa/ocelot/felix.c | 69 ++------ drivers/net/dsa/qca8k.c | 37 ++-- drivers/net/dsa/realtek-smi-core.h | 9 +- drivers/net/dsa/rtl8366.c | 152 +++++++--------- drivers/net/dsa/rtl8366rb.c | 1 - drivers/net/dsa/sja1105/sja1105.h | 3 +- drivers/net/dsa/sja1105/sja1105_devlink.c | 9 +- drivers/net/dsa/sja1105/sja1105_main.c | 97 ++++------ .../marvell/prestera/prestera_switchdev.c | 62 ++----- .../mellanox/mlxsw/spectrum_switchdev.c | 165 +++++------------- drivers/net/ethernet/mscc/ocelot.c | 32 ++-- drivers/net/ethernet/mscc/ocelot_net.c | 69 ++------ drivers/net/ethernet/rocker/rocker.h | 6 +- drivers/net/ethernet/rocker/rocker_main.c | 61 ++----- drivers/net/ethernet/rocker/rocker_ofdpa.c | 43 ++--- drivers/net/ethernet/ti/cpsw_switchdev.c | 70 ++------ drivers/staging/fsl-dpaa2/ethsw/ethsw.c | 115 +++++------- include/net/dsa.h | 11 +- include/net/switchdev.h | 27 +-- include/soc/mscc/ocelot.h | 3 +- net/bridge/br_switchdev.c | 6 +- net/dsa/dsa_priv.h | 27 +-- net/dsa/port.c | 103 +++++------ net/dsa/slave.c | 79 +++------ net/dsa/switch.c | 89 ++-------- net/switchdev/switchdev.c | 101 ++--------- 40 files changed, 710 insertions(+), 1482 deletions(-)