net/hns3: fix return value for unsupported tuple
[dpdk.git] / drivers / net / ice / base / ice_protocol_type.h
index 4d3136f..8fb95a8 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2001-2020 Intel Corporation
+ * Copyright(c) 2001-2021 Intel Corporation
  */
 
 #ifndef _ICE_PROTOCOL_TYPE_H_
@@ -52,6 +52,9 @@ enum ice_protocol_type {
        ICE_AH,
        ICE_NAT_T,
        ICE_GTP_NO_PAY,
+       ICE_VLAN_EX,
+       ICE_VLAN_IN,
+       ICE_FLG_DIR,
        ICE_PROTOCOL_LAST
 };
 
@@ -74,10 +77,26 @@ enum ice_sw_tunnel_type {
        ICE_SW_TUN_GTP,
        ICE_SW_TUN_IPV4_GTPU_NO_PAY,
        ICE_SW_TUN_IPV6_GTPU_NO_PAY,
-       ICE_SW_TUN_IPV4_GTPU_IPV4,
-       ICE_SW_TUN_IPV4_GTPU_IPV6,
-       ICE_SW_TUN_IPV6_GTPU_IPV4,
-       ICE_SW_TUN_IPV6_GTPU_IPV6,
+       ICE_SW_TUN_IPV4_GTPU_EH_IPV4,
+       ICE_SW_TUN_IPV4_GTPU_IPV4_UDP,
+       ICE_SW_TUN_IPV4_GTPU_EH_IPV4_UDP,
+       ICE_SW_TUN_IPV4_GTPU_IPV4_TCP,
+       ICE_SW_TUN_IPV4_GTPU_EH_IPV4_TCP,
+       ICE_SW_TUN_IPV4_GTPU_EH_IPV6,
+       ICE_SW_TUN_IPV4_GTPU_IPV6_UDP,
+       ICE_SW_TUN_IPV4_GTPU_EH_IPV6_UDP,
+       ICE_SW_TUN_IPV4_GTPU_IPV6_TCP,
+       ICE_SW_TUN_IPV4_GTPU_EH_IPV6_TCP,
+       ICE_SW_TUN_IPV6_GTPU_EH_IPV4,
+       ICE_SW_TUN_IPV6_GTPU_IPV4_UDP,
+       ICE_SW_TUN_IPV6_GTPU_EH_IPV4_UDP,
+       ICE_SW_TUN_IPV6_GTPU_IPV4_TCP,
+       ICE_SW_TUN_IPV6_GTPU_EH_IPV4_TCP,
+       ICE_SW_TUN_IPV6_GTPU_EH_IPV6,
+       ICE_SW_TUN_IPV6_GTPU_IPV6_UDP,
+       ICE_SW_TUN_IPV6_GTPU_EH_IPV6_UDP,
+       ICE_SW_TUN_IPV6_GTPU_IPV6_TCP,
+       ICE_SW_TUN_IPV6_GTPU_EH_IPV6_TCP,
        ICE_SW_TUN_PPPOE,
        ICE_SW_TUN_PPPOE_PAY,
        ICE_SW_TUN_PPPOE_IPV4,
@@ -102,6 +121,18 @@ enum ice_sw_tunnel_type {
        ICE_SW_TUN_PROFID_IPV4_PFCP_SESSION,
        ICE_SW_TUN_PROFID_IPV6_PFCP_NODE,
        ICE_SW_TUN_PROFID_IPV6_PFCP_SESSION,
+       ICE_SW_TUN_AND_NON_TUN_QINQ,
+       ICE_NON_TUN_QINQ,
+       ICE_SW_TUN_PPPOE_QINQ,
+       ICE_SW_TUN_PPPOE_PAY_QINQ,
+       ICE_SW_TUN_PPPOE_IPV4_QINQ,
+       ICE_SW_TUN_PPPOE_IPV6_QINQ,
+       ICE_SW_TUN_IPV4_GTPU_IPV4,
+       ICE_SW_TUN_IPV4_GTPU_IPV6,
+       ICE_SW_TUN_IPV6_GTPU_IPV4,
+       ICE_SW_TUN_IPV6_GTPU_IPV6,
+       ICE_SW_TUN_GTP_IPV4,
+       ICE_SW_TUN_GTP_IPV6,
        ICE_ALL_TUNNELS /* All tunnel types including NVGRE */
 };
 
@@ -129,8 +160,11 @@ enum ice_prot_id {
        ICE_PROT_MPLS_IL        = 29,
        ICE_PROT_IPV4_OF_OR_S   = 32,
        ICE_PROT_IPV4_IL        = 33,
+       ICE_PROT_IPV4_IL_IL     = 34,
        ICE_PROT_IPV6_OF_OR_S   = 40,
        ICE_PROT_IPV6_IL        = 41,
+       ICE_PROT_IPV6_IL_IL     = 42,
+       ICE_PROT_IPV6_NEXT_PROTO = 43,
        ICE_PROT_IPV6_FRAG      = 47,
        ICE_PROT_TCP_IL         = 49,
        ICE_PROT_UDP_OF         = 52,
@@ -146,6 +180,8 @@ enum ice_prot_id {
        ICE_PROT_OSPF           = 102,
        ICE_PROT_PPPOE          = 103,
        ICE_PROT_L2TPV3         = 104,
+       ICE_PROT_ECPRI          = 105,
+       ICE_PROT_PPP            = 106,
        ICE_PROT_ATAOE_OF       = 114,
        ICE_PROT_CTRL_OF        = 116,
        ICE_PROT_LLDP_OF        = 117,
@@ -157,9 +193,11 @@ enum ice_prot_id {
 
 #define ICE_VNI_OFFSET         12 /* offset of VNI from ICE_PROT_UDP_OF */
 
+#define ICE_NAN_OFFSET         511
 #define ICE_MAC_OFOS_HW                1
 #define ICE_MAC_IL_HW          4
 #define ICE_ETYPE_OL_HW                9
+#define ICE_VLAN_OF_HW         16
 #define ICE_VLAN_OL_HW         17
 #define ICE_IPV4_OFOS_HW       32
 #define ICE_IPV4_IL_HW         33
@@ -182,9 +220,10 @@ enum ice_prot_id {
 #define ICE_META_DATA_ID_HW 255 /* this is used for tunnel type */
 
 #define ICE_MDID_SIZE 2
-#define ICE_TUN_FLAG_MDID 21
-#define ICE_TUN_FLAG_MDID_OFF (ICE_MDID_SIZE * ICE_TUN_FLAG_MDID)
+#define ICE_TUN_FLAG_MDID 20
+#define ICE_TUN_FLAG_MDID_OFF(word)   (ICE_MDID_SIZE * (ICE_TUN_FLAG_MDID + (word)))
 #define ICE_TUN_FLAG_MASK 0xFF
+#define ICE_DIR_FLAG_MASK 0x10
 #define ICE_TUN_FLAG_VLAN_MASK 0x01
 #define ICE_TUN_FLAG_FV_IND 2
 
@@ -212,8 +251,8 @@ struct ice_ether_vlan_hdr {
 };
 
 struct ice_vlan_hdr {
-       __be16 vlan;
        __be16 type;
+       __be16 vlan;
 };
 
 struct ice_ipv4_hdr {