Message ID | 20240730061638.1831002-7-tariqt@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 06827e27fdcd197557be72b2229dbd362303794f |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | mlx5 misc fixes 2024-07-30 | expand |
On 30.07.2024 08:16, Tariq Toukan wrote: > From: Rahul Rameshbabu <rrameshbabu@nvidia.com> > > 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> > .../ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c > index 6e00afe4671b..797db853de36 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c > @@ -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,
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c index 6e00afe4671b..797db853de36 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c @@ -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,