Validate tunnel mode support for IPsec packet offload.
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        MLX5_IPSEC_CAP_PACKET_OFFLOAD   = 1 << 2,
        MLX5_IPSEC_CAP_ROCE             = 1 << 3,
        MLX5_IPSEC_CAP_PRIO             = 1 << 4,
+       MLX5_IPSEC_CAP_TUNNEL           = 1 << 5,
 };
 
 struct mlx5e_priv;
 
                if (MLX5_CAP_FLOWTABLE_NIC_TX(mdev, ignore_flow_level) &&
                    MLX5_CAP_FLOWTABLE_NIC_RX(mdev, ignore_flow_level))
                        caps |= MLX5_IPSEC_CAP_PRIO;
+
+               if (MLX5_CAP_FLOWTABLE_NIC_TX(mdev,
+                                             reformat_l2_to_l3_esp_tunnel) &&
+                   MLX5_CAP_FLOWTABLE_NIC_RX(mdev,
+                                             reformat_l3_esp_tunnel_to_l2))
+                       caps |= MLX5_IPSEC_CAP_TUNNEL;
        }
 
        if (mlx5_get_roce_state(mdev) &&