mbox series

[v4,net-next,00/11] Get rid of the switchdev transactional model

Message ID 20210109000156.1246735-1-olteanv@gmail.com (mailing list archive)
Headers show
Series Get rid of the switchdev transactional model | expand

Message

Vladimir Oltean Jan. 9, 2021, 12:01 a.m. UTC
From: Vladimir Oltean <vladimir.oltean@nxp.com>

Changes in v4:
- Fixed build error in dsa_loop and build warning in hellcreek driver.
- Scheduling the mlxsw SPAN work item regardless of the VLAN add return
  code, as per Ido's and Petr's request.

Changes in v3:
- Resolved a build warning in mv88e6xxx and tested that it actually
  works properly, which resulted in an extra patch (02/11).
- Addressed Ido's minor feedback in commit 10/11 relating to a comment.

Changes in v2:
- Got rid of the vid_begin -> vid_end range too from the switchdev API.
- Actually propagating errors from DSA MDB and VLAN notifiers.

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 (11):
  net: switchdev: remove vid_begin -> vid_end range from VLAN objects
  net: dsa: mv88e6xxx: deny vid 0 on the CPU port and DSA links too
  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                    |  73 +++-----
 drivers/net/dsa/hirschmann/hellcreek.c        |  40 ++---
 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              | 155 ++++++++--------
 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, 714 insertions(+), 1492 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Jan. 12, 2021, 12:20 a.m. UTC | #1
Hello:

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

On Sat,  9 Jan 2021 02:01:45 +0200 you wrote:
> From: Vladimir Oltean <vladimir.oltean@nxp.com>
> 
> Changes in v4:
> - Fixed build error in dsa_loop and build warning in hellcreek driver.
> - Scheduling the mlxsw SPAN work item regardless of the VLAN add return
>   code, as per Ido's and Petr's request.
> 
> [...]

Here is the summary with links:
  - [v4,net-next,01/11] net: switchdev: remove vid_begin -> vid_end range from VLAN objects
    https://git.kernel.org/netdev/net-next/c/b7a9e0da2d1c
  - [v4,net-next,02/11] net: dsa: mv88e6xxx: deny vid 0 on the CPU port and DSA links too
    https://git.kernel.org/netdev/net-next/c/3e85f580e3fc
  - [v4,net-next,03/11] net: switchdev: remove the transaction structure from port object notifiers
    https://git.kernel.org/netdev/net-next/c/ffb68fc58e96
  - [v4,net-next,04/11] net: switchdev: delete switchdev_port_obj_add_now
    https://git.kernel.org/netdev/net-next/c/cf6def51bade
  - [v4,net-next,05/11] net: switchdev: remove the transaction structure from port attributes
    https://git.kernel.org/netdev/net-next/c/bae33f2b5afe
  - [v4,net-next,06/11] net: dsa: remove the transactional logic from ageing time notifiers
    https://git.kernel.org/netdev/net-next/c/77b61365ecef
  - [v4,net-next,07/11] net: dsa: remove the transactional logic from MDB entries
    https://git.kernel.org/netdev/net-next/c/a52b2da778fc
  - [v4,net-next,08/11] net: dsa: remove the transactional logic from VLAN objects
    https://git.kernel.org/netdev/net-next/c/1958d5815c91
  - [v4,net-next,09/11] net: dsa: remove obsolete comments about switchdev transactions
    https://git.kernel.org/netdev/net-next/c/417b99bf75c3
  - [v4,net-next,10/11] mlxsw: spectrum_switchdev: remove transactional logic for VLAN objects
    https://git.kernel.org/netdev/net-next/c/4b400fea76e1
  - [v4,net-next,11/11] net: switchdev: delete the transaction object
    https://git.kernel.org/netdev/net-next/c/8f73cc50ba2d

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