Pass extack to SWITCHDEV_PORT_OBJ_ADD
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest9 patches 2 repliesIn review
- v19 patches 8 repliesSuperseded
Changes in v2 from the cover letter
- Patch #1:
- In ndo_bridge_setlink(), keep the whole extack declaration on the same line.
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/9 | net: ndo_bridge_setlink: Add extackdrivers/ drivers/ drivers/ +6 more | +20 | 1 reply | |
| 2/9 | net: bridge: Propagate extack to switchdevnet/ net/ net/ +2 more | +65 | 0 replies | |
| 3/9 | net: switchdev: Add extack argument to switchdev_port_obj_add()include/ net/ net/ +1 more | +18 | 0 replies | |
| 4/9 | net: switchdev: Add extack to struct switchdev_notifier_infodrivers/ include/ net/ | +17 | 0 replies | |
| 5/9 | net: switchdev: Add extack to switchdev_handle_port_obj_add() callbackdrivers/ drivers/ include/ +1 more | +17 | 0 replies | |
| 6/9 | mlxsw: spectrum_switchdev: Propagate extack on VXLAN VLAN eventsdrivers/ | +8 | 0 replies | |
| 7/9 | mlxsw: spectrum_switchdev: Propagate extack on port VLAN eventsdrivers/ | +23 | 0 replies | |
| 8/9 | selftests: mlxsw: extack: Test VLAN add on a VXLAN devicetools/ | +31 | 0 replies | |
| 9/9 | selftests: mlxsw: extack: Test VLAN add on a port devicetools/ | +30 | 0 replies |
Reviews trailers per patch
All 9 patches have a Reviewed-by or Acked-by.
| Patch | Jiri Pirko | Ido Schimmel | Nikolay Aleksandrov | Ivan Vecera | Roopa Prabhu |
|---|---|---|---|---|---|
| 1/9 | A-b | R-b | A-b | ||
| 2/9 | A-b | R-b | A-b | A-b | A-b |
| 3/9 | A-b | R-b | A-b | ||
| 4/9 | A-b | R-b | A-b | ||
| 5/9 | A-b | R-b | A-b | ||
| 6/9 | A-b | R-b | |||
| 7/9 | A-b | R-b | |||
| 8/9 | A-b | R-b | |||
| 9/9 | A-b | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 5 reviewers.
Cover letter [PATCH net-next v2 0/9] Pass extack to SWITCHDEV_PORT_OBJ_ADD
Drivers may need to do validation as a result of port object addition. An example is mlxsw, which needs to check the configuration of a VXLAN device attached to an offloaded bridge. Without a mapped VLAN, the invalidity of the device is not important, but as soon as a pvid, untagged VLAN is configured for the device, it has to be validated and offloaded. Should the validation fail, there's currently no way to communicate details of the failure to the user, beyond an error number.
Because currently, extack is not available at all in that area of code, this patch starts down at the RTNL level and progresses up towards the driver(s).
In patch #1, ndo_bridge_setlink is updated to include extack, and callbacks of all clients are updated as well (ignoring the argument).
In patch #2, the bridge driver is updated to propagate the extack through to the switchdev border, br_switchdev_port_vlan_add().
Patches #3, #4 and #5 then gradually extend switchdev to pass the extack argument through to the switchdev blocking notifier chain.
Patches #6 and #7 then update mlxsw to pass the extack argument from VXLAN events resp. port events on to mlxsw_sp_bridge_8021q_vxlan_join().
Finally in patches #8 and #9, the code paths from the previous two patches are verified to yield an error message.
v2:
- Patch #1:
- In ndo_bridge_setlink(), keep the whole extack declaration on the same line.
Petr Machata (9):
net: ndo_bridge_setlink: Add extack
net: bridge: Propagate extack to switchdev
net: switchdev: Add extack argument to switchdev_port_obj_add()
net: switchdev: Add extack to struct switchdev_notifier_info
net: switchdev: Add extack to switchdev_handle_port_obj_add() callback
mlxsw: spectrum_switchdev: Propagate extack on VXLAN VLAN events
mlxsw: spectrum_switchdev: Propagate extack on port VLAN events
selftests: mlxsw: extack: Test VLAN add on a VXLAN device
selftests: mlxsw: extack: Test VLAN add on a port device
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/emulex/benet/be_main.c | 2 +- drivers/net/ethernet/intel/i40e/i40e_main.c | 4 +- drivers/net/ethernet/intel/ice/ice_main.c | 3 +- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 +- .../ethernet/mellanox/mlxsw/spectrum_switchdev.c | 53 ++++++++++++------- drivers/net/ethernet/mscc/ocelot.c | 3 +- drivers/net/vxlan.c | 1 + include/linux/netdevice.h | 5 +- include/net/switchdev.h | 25 ++++++--- net/bridge/br_if.c | 2 +- net/bridge/br_mdb.c | 4 +- net/bridge/br_netlink.c | 30 ++++++----- net/bridge/br_private.h | 25 +++++---- net/bridge/br_switchdev.c | 5 +- net/bridge/br_vlan.c | 59 ++++++++++++--------- net/core/rtnetlink.c | 6 ++- net/switchdev/switchdev.c | 38 +++++++++----- .../testing/selftests/drivers/net/mlxsw/extack.sh | 61 ++++++++++++++++++++++ 19 files changed, 229 insertions(+), 102 deletions(-)
Signature · 1 line
2.4.11