Add NSH supporting field in two places:
1. New HCA capability indicating NSH is supported
2. New field in "mlx5_ifc_per_protocol_networking_offload_caps_bits"
   structure

Signed-off-by: Haifei Luo <haif...@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnow...@nvidia.com>
Acked-by: Suanming Mou <suanmi...@nvidia.com>
---
 drivers/common/mlx5/mlx5_devx_cmds.c | 3 +++
 drivers/common/mlx5/mlx5_devx_cmds.h | 1 +
 drivers/common/mlx5/mlx5_prm.h       | 4 +++-
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c 
b/drivers/common/mlx5/mlx5_devx_cmds.c
index 66a77159a0..830199212e 100644
--- a/drivers/common/mlx5/mlx5_devx_cmds.c
+++ b/drivers/common/mlx5/mlx5_devx_cmds.c
@@ -1313,6 +1313,9 @@ mlx5_devx_cmd_query_hca_attr(void *ctx,
        attr->tunnel_stateless_gtp = MLX5_GET
                                        (per_protocol_networking_offload_caps,
                                         hcattr, tunnel_stateless_gtp);
+       attr->tunnel_stateless_vxlan_gpe_nsh = MLX5_GET
+                                       (per_protocol_networking_offload_caps,
+                                        hcattr, 
tunnel_stateless_vxlan_gpe_nsh);
        attr->rss_ind_tbl_cap = MLX5_GET
                                        (per_protocol_networking_offload_caps,
                                         hcattr, rss_ind_tbl_cap);
diff --git a/drivers/common/mlx5/mlx5_devx_cmds.h 
b/drivers/common/mlx5/mlx5_devx_cmds.h
index e071cd841f..11772431ae 100644
--- a/drivers/common/mlx5/mlx5_devx_cmds.h
+++ b/drivers/common/mlx5/mlx5_devx_cmds.h
@@ -196,6 +196,7 @@ struct mlx5_hca_attr {
        uint32_t tunnel_stateless_geneve_rx:1;
        uint32_t geneve_max_opt_len:1; /* 0x0: 14DW, 0x1: 63DW */
        uint32_t tunnel_stateless_gtp:1;
+       uint32_t tunnel_stateless_vxlan_gpe_nsh:1;
        uint32_t max_lso_cap;
        uint32_t scatter_fcs:1;
        uint32_t lro_cap:1;
diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h
index 51f426c614..f005877dd7 100644
--- a/drivers/common/mlx5/mlx5_prm.h
+++ b/drivers/common/mlx5/mlx5_prm.h
@@ -1964,7 +1964,9 @@ struct mlx5_ifc_per_protocol_networking_offload_caps_bits 
{
        u8 swp_lso[0x1];
        u8 reserved_at_23[0x8];
        u8 tunnel_stateless_gtp[0x1];
-       u8 reserved_at_25[0x4];
+       u8 reserved_at_25[0x2];
+       u8 tunnel_stateless_vxlan_gpe_nsh[0x1];
+       u8 reserved_at_28[0x1];
        u8 max_vxlan_udp_ports[0x8];
        u8 reserved_at_38[0x6];
        u8 max_geneve_opt_len[0x1];
-- 
2.27.0

Reply via email to