RE: [Intel-wired-lan] [PATCH net-next v2 06/13] mlx5: convert to ndo_set_rx_mode_async
From: Loktionov, Aleksandr
Date: Wed Mar 18 2026 - 12:00:50 EST
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf
> Of Stanislav Fomichev
> Sent: Wednesday, March 18, 2026 4:03 PM
> To: netdev@xxxxxxxxxxxxxxx
> Cc: davem@xxxxxxxxxxxxx; edumazet@xxxxxxxxxx; kuba@xxxxxxxxxx;
> pabeni@xxxxxxxxxx; horms@xxxxxxxxxx; corbet@xxxxxxx;
> skhan@xxxxxxxxxxxxxxxxxxx; andrew+netdev@xxxxxxx;
> michael.chan@xxxxxxxxxxxx; pavan.chebbi@xxxxxxxxxxxx; Nguyen, Anthony
> L <anthony.l.nguyen@xxxxxxxxx>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@xxxxxxxxx>; saeedm@xxxxxxxxxx; tariqt@xxxxxxxxxx;
> mbloch@xxxxxxxxxx; alexanderduyck@xxxxxx; kernel-team@xxxxxxxx;
> johannes@xxxxxxxxxxxxxxxx; sd@xxxxxxxxxxxxxxx; jianbol@xxxxxxxxxx;
> dtatulea@xxxxxxxxxx; sdf@xxxxxxxxxxx; mohsin.bashr@xxxxxxxxx; Keller,
> Jacob E <jacob.e.keller@xxxxxxxxx>; willemb@xxxxxxxxxx;
> skhawaja@xxxxxxxxxx; bestswngs@xxxxxxxxx; linux-doc@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; intel-wired-lan@xxxxxxxxxxxxxxxx; linux-
> rdma@xxxxxxxxxxxxxxx; linux-wireless@xxxxxxxxxxxxxxx; linux-
> kselftest@xxxxxxxxxxxxxxx; leon@xxxxxxxxxx; Cosmin, Ratiu
> <cratiu@xxxxxxxxxx>
> Subject: [Intel-wired-lan] [PATCH net-next v2 06/13] mlx5: convert to
> ndo_set_rx_mode_async
>
> Convert mlx5 from ndo_set_rx_mode to ndo_set_rx_mode_async. The
> driver's mlx5e_set_rx_mode now receives uc/mc snapshots and calls
> mlx5e_fs_set_rx_mode_work directly instead of queueing work.
>
> mlx5e_sync_netdev_addr and mlx5e_handle_netdev_addr now take explicit
> uc/mc list parameters and iterate with netdev_hw_addr_list_for_each
> instead of netdev_for_each_{uc,mc}_addr.
>
> Fallback to netdev's uc/mc in a few places and grab addr lock.
>
> Cc: Saeed Mahameed <saeedm@xxxxxxxxxx>
> Cc: Tariq Toukan <tariqt@xxxxxxxxxx>
> Cc: Cosmin Ratiu <cratiu@xxxxxxxxxx>
> Signed-off-by: Stanislav Fomichev <sdf@xxxxxxxxxxx>
> ---
> .../net/ethernet/mellanox/mlx5/core/en/fs.h | 5 +++-
> .../net/ethernet/mellanox/mlx5/core/en_fs.c | 30 ++++++++++++------
> -
> .../net/ethernet/mellanox/mlx5/core/en_main.c | 16 +++++++---
> 3 files changed, 36 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
> b/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
> index c3408b3f7010..091b80a67189 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
> @@ -201,7 +201,10 @@ int mlx5e_add_vlan_trap(struct
> mlx5e_flow_steering *fs, int trap_id, int tir_nu void
> mlx5e_remove_vlan_trap(struct mlx5e_flow_steering *fs); int
> mlx5e_add_mac_trap(struct mlx5e_flow_steering *fs, int trap_id, int
> tir_num); void mlx5e_remove_mac_trap(struct mlx5e_flow_steering *fs);
...
> }
>
> /* mlx5e generic netdev management API (move to en_common.c) */
> --
> 2.53.0
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@xxxxxxxxx>