]> git.dujemihanovic.xyz Git - linux.git/commitdiff
net/mlx5e: Require mlx5 tc classifier action support for IPsec prio capability
authorRahul Rameshbabu <rrameshbabu@nvidia.com>
Tue, 30 Jul 2024 06:16:35 +0000 (09:16 +0300)
committerJakub Kicinski <kuba@kernel.org>
Thu, 1 Aug 2024 01:04:51 +0000 (18:04 -0700)
Require mlx5 classifier action support when creating IPSec chains in
offload path. MLX5_IPSEC_CAP_PRIO should only be set if CONFIG_MLX5_CLS_ACT
is enabled. If CONFIG_MLX5_CLS_ACT=n and MLX5_IPSEC_CAP_PRIO is set,
configuring IPsec offload will fail due to the mlxx5 ipsec chain rules
failing to be created due to lack of classifier action support.

Fixes: fa5aa2f89073 ("net/mlx5e: Use chains for IPsec policy priority offload")
Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Link: https://patch.msgid.link/20240730061638.1831002-7-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c

index 6e00afe4671b78ae48eb3eaaddf8456eb09ab0e4..797db853de3638d95f19cf550998d6af477174fc 100644 (file)
@@ -51,9 +51,10 @@ u32 mlx5_ipsec_device_caps(struct mlx5_core_dev *mdev)
                    MLX5_CAP_FLOWTABLE_NIC_RX(mdev, decap))
                        caps |= MLX5_IPSEC_CAP_PACKET_OFFLOAD;
 
-               if ((MLX5_CAP_FLOWTABLE_NIC_TX(mdev, ignore_flow_level) &&
-                    MLX5_CAP_FLOWTABLE_NIC_RX(mdev, ignore_flow_level)) ||
-                   MLX5_CAP_ESW_FLOWTABLE_FDB(mdev, ignore_flow_level))
+               if (IS_ENABLED(CONFIG_MLX5_CLS_ACT) &&
+                   ((MLX5_CAP_FLOWTABLE_NIC_TX(mdev, ignore_flow_level) &&
+                     MLX5_CAP_FLOWTABLE_NIC_RX(mdev, ignore_flow_level)) ||
+                    MLX5_CAP_ESW_FLOWTABLE_FDB(mdev, ignore_flow_level)))
                        caps |= MLX5_IPSEC_CAP_PRIO;
 
                if (MLX5_CAP_FLOWTABLE_NIC_TX(mdev,