Subject: [PATCH net-next 0/8] mlxsw: Cleanups in router code

From: Petr Machata <[email-masked]>
Date: Fri, 9 Jun 2023 19:32:05 +0200

This patchset moves some router-related code from spectrum.c to
spectrum_router.c where it should be. It also simplifies handlers of
netevent notifications.

- Patch #1 caches router pointer in a dedicated variable. This obviates the
  need to access the same as mlxsw_sp->router, making lines shorter, and
  permitting a future patch to add code that fits within 80 character
  limit.

- Patch #2 moves IP / IPv6 validation notifier blocks from spectrum.c
  to spectrum_router, where the handlers are anyway.

- In patch #3, pass router pointer to scheduler of deferred work directly,
  instead of having it deduce it on its own.

- This makes the router pointer available in the handler function
  mlxsw_sp_router_netevent_event(), so in patch #4, use it directly,
  instead of finding it through mlxsw_sp_port.

- In patch #5, extend mlxsw_sp_router_schedule_work() so that the
  NETEVENT_NEIGH_UPDATE handler can use it directly instead of inlining
  equivalent code.

- In patches #6 and #7, add helpers for two common operations involving
  a backing netdev of a RIF. This makes it unnecessary for the function
  mlxsw_sp_rif_dev() to be visible outside of the router module, so in
  patch #8, hide it.

Petr Machata (8):
  mlxsw: spectrum_router: mlxsw_sp_router_fini(): Extract a helper
    variable
  mlxsw: spectrum_router: Move here inetaddr validator notifiers
  mlxsw: spectrum_router: Pass router to mlxsw_sp_router_schedule_work()
    directly
  mlxsw: spectrum_router: Use the available router pointer for netevent
    handling
  mlxsw: spectrum_router: Reuse work neighbor initialization in work
    scheduler
  mlxsw: Convert RIF-has-netdevice queries to a dedicated helper
  mlxsw: Convert does-RIF-have-this-netdev queries to a dedicated helper
  mlxsw: spectrum_router: Privatize mlxsw_sp_rif_dev()

 .../net/ethernet/mellanox/mlxsw/spectrum.c    |  18 +--
 .../net/ethernet/mellanox/mlxsw/spectrum.h    |   4 -
 .../ethernet/mellanox/mlxsw/spectrum_dpipe.c  |   2 +-
 .../net/ethernet/mellanox/mlxsw/spectrum_mr.c |  19 ++-
 .../ethernet/mellanox/mlxsw/spectrum_router.c | 123 +++++++++++-------
 .../ethernet/mellanox/mlxsw/spectrum_router.h |   6 +-
 6 files changed, 90 insertions(+), 82 deletions(-)

-- 
2.40.1