[PATCH v9 5/5] net/mlx5: accept more unicast MAC addresses
David Marchand
david.marchand at redhat.com
Tue Sep 29 15:24:32 CEST 2026
On Tue, 29 Sept 2026 at 14:52, Raslan Darawsheh <rasland at nvidia.com> wrote:
>
> Acked-by: Raslan Darawsheh <rasland at nvidia.com>
>
> I'll squash the following fixup into this patch during merge, to handle
> non-DevX devices (where mlx5_os_capabilities_prepare() would otherwise
> return before max_uc_mac_addrs/max_mc_mac_addrs/max_mac_addrs get set,
> leaving them at 0):
>
> diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
> index 9180e9aa20..7c2c35c945 100644
> --- a/drivers/net/mlx5/linux/mlx5_os.c
> +++ b/drivers/net/mlx5/linux/mlx5_os.c
> @@ -325,6 +325,16 @@ mlx5_os_capabilities_prepare(struct mlx5_dev_ctx_shared *sh)
> DRV_LOG(WARNING,
> "Tunnel offloading disabled due to old OFED/rdma-core version");
> #endif
> + if (hca_attr->log_max_current_uc_list > 0)
> + sh->dev_cap.max_uc_mac_addrs = RTE_BIT32(hca_attr->log_max_current_uc_list);
> + else
> + sh->dev_cap.max_uc_mac_addrs = MLX5_MAX_UC_MAC_ADDRESSES;
> + if (hca_attr->log_max_current_mc_list > 0)
> + sh->dev_cap.max_mc_mac_addrs = RTE_BIT32(hca_attr->log_max_current_mc_list);
> + else
> + sh->dev_cap.max_mc_mac_addrs = MLX5_MAX_MC_MAC_ADDRESSES;
> + sh->dev_cap.max_mac_addrs =
> + sh->dev_cap.max_uc_mac_addrs + sh->dev_cap.max_mc_mac_addrs;
> if (!sh->cdev->config.devx)
> return 0;
> /* Check capabilities for Packet Pacing. */
> @@ -389,16 +399,6 @@ mlx5_os_capabilities_prepare(struct mlx5_dev_ctx_shared *sh)
> sh->dev_cap.esw_info.regc_mask = 0;
> #endif
> sh->dev_cap.esw_info.is_set = 1;
> - if (hca_attr->log_max_current_uc_list > 0)
> - sh->dev_cap.max_uc_mac_addrs = RTE_BIT32(hca_attr->log_max_current_uc_list);
> - else
> - sh->dev_cap.max_uc_mac_addrs = MLX5_MAX_UC_MAC_ADDRESSES;
> - if (hca_attr->log_max_current_mc_list > 0)
> - sh->dev_cap.max_mc_mac_addrs = RTE_BIT32(hca_attr->log_max_current_mc_list);
> - else
> - sh->dev_cap.max_mc_mac_addrs = MLX5_MAX_MC_MAC_ADDRESSES;
> - sh->dev_cap.max_mac_addrs =
> - sh->dev_cap.max_uc_mac_addrs + sh->dev_cap.max_mc_mac_addrs;
> return 0;
> }
This lgtm.
Thank you.
--
David Marchand
More information about the dev
mailing list