Hi,

Since it is only a WA and no need to consider all archs or CPU types, LGTM so 
far.

> -----Original Message-----
> From: Viacheslav Ovsiienko <viachesl...@nvidia.com>
> Sent: Friday, December 6, 2024 10:26 PM
> To: dev@dpdk.org
> Cc: Raslan Darawsheh <rasl...@nvidia.com>; Matan Azrad <ma...@nvidia.com>;
> Suanming Mou <suanmi...@nvidia.com>; sta...@dpdk.org
> Subject: [PATCH v2] net/mlx5: fix hypervisor detection in VLAN workaround
> 
> External email: Use caution opening links or attachments
> 
> 
> The mlx5 PMD provides a specific workaround for the VMware ESXi
> hypervisor, enabling on-demand routing configuration to virtual machines.
> This workaround activates when the device type is a Virtual Function and
> either an ESXi hypervisor is detected or the hypervisor type is unknown.
> 
> For non-x86 architectures the function rte_hypervisor_get() consistently
> returns an unknown type, which triggers the workaround automatically
> without any actual needs. If there are VLAN support requirements, this can
> lead to failures in inserting default control flows.
> 
> Do not trigger the workaround for unknown hypervisor type in non-x86
> environments.
> 
> Fixes: dfedf3e3f9d2 ("net/mlx5: add workaround for VLAN in virtual
> machine")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Viacheslav Ovsiienko <viachesl...@nvidia.com>
> 
> --
> v2: updated cooments to remove "white list"
> ---
>  drivers/net/mlx5/linux/mlx5_vlan_os.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/mlx5/linux/mlx5_vlan_os.c
> b/drivers/net/mlx5/linux/mlx5_vlan_os.c
> index 81611a8d3f..353484de3f 100644
> --- a/drivers/net/mlx5/linux/mlx5_vlan_os.c
> +++ b/drivers/net/mlx5/linux/mlx5_vlan_os.c
> @@ -112,16 +112,16 @@ mlx5_vlan_vmwa_init(struct rte_eth_dev *dev,
> uint32_t ifindex)
>         /* Check whether there is desired virtual environment */
>         hv_type = rte_hypervisor_get();
>         switch (hv_type) {
> +#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_X86_64)
> +       /* Always misdetected on ARM archs, let's ignore this */
>         case RTE_HYPERVISOR_UNKNOWN:
> +#endif
>         case RTE_HYPERVISOR_VMWARE:
> -               /*
> -                * The "white list" of configurations
> -                * to engage the workaround.
> -                */
> +               /* The list of configurations to engage the workaround.
> + */
>                 break;
>         default:
>                 /*
> -                * The configuration is not found in the "white list".
> +                * The configuration is not found in the list.
>                  * We should not engage the VLAN workaround.
>                  */
>                 return NULL;
> --
> 2.34.1

Acked-by: Bing Zhao <bi...@nvidia.com>

Reply via email to