]> www.infradead.org Git - users/hch/misc.git/commitdiff
net/mlx5e: Disable loopback self-test on multi-PF netdev
authorCarolina Jubran <cjubran@nvidia.com>
Thu, 7 Nov 2024 18:35:27 +0000 (20:35 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 12 Nov 2024 03:23:38 +0000 (19:23 -0800)
In Multi-PF (Socket Direct) configurations, when a loopback packet is
sent through one of the secondary devices, it will always be received
on the primary device. This causes the loopback layer to fail in
identifying the loopback packet as the devices are different.

To avoid false test failures, disable the loopback self-test in
Multi-PF configurations.

Fixes: ed29705e4ed1 ("net/mlx5: Enable SD feature")
Signed-off-by: Carolina Jubran <cjubran@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20241107183527.676877-8-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c

index 5bf8318cc48b8e3cbd017e6121dbaa2a58712bd7..1d60465cc2ca4fdc0d849eaec5ce0ad7c145f529 100644 (file)
@@ -36,6 +36,7 @@
 #include "en.h"
 #include "en/port.h"
 #include "eswitch.h"
+#include "lib/mlx5.h"
 
 static int mlx5e_test_health_info(struct mlx5e_priv *priv)
 {
@@ -247,6 +248,9 @@ static int mlx5e_cond_loopback(struct mlx5e_priv *priv)
        if (is_mdev_switchdev_mode(priv->mdev))
                return -EOPNOTSUPP;
 
+       if (mlx5_get_sd(priv->mdev))
+               return -EOPNOTSUPP;
+
        return 0;
 }