X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fice%2Fbase%2Fice_protocol_type.h;h=d1d266ffd285af7de314ef319915ba82424c3e2d;hb=028c9d4da2b7bc843fe65c13432b26700b5e29a6;hp=3fb065169c3356acc00a048716f437e9c3880c39;hpb=88824213be8a4960dbf46dcb885918d3964a8604;p=dpdk.git diff --git a/drivers/net/ice/base/ice_protocol_type.h b/drivers/net/ice/base/ice_protocol_type.h index 3fb065169c..d1d266ffd2 100644 --- a/drivers/net/ice/base/ice_protocol_type.h +++ b/drivers/net/ice/base/ice_protocol_type.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2001-2020 + * Copyright(c) 2001-2021 Intel Corporation */ #ifndef _ICE_PROTOCOL_TYPE_H_ @@ -50,6 +50,10 @@ enum ice_protocol_type { ICE_L2TPV3, ICE_ESP, ICE_AH, + ICE_NAT_T, + ICE_GTP_NO_PAY, + ICE_VLAN_EX, + ICE_VLAN_IN, ICE_PROTOCOL_LAST }; @@ -57,14 +61,57 @@ enum ice_sw_tunnel_type { ICE_NON_TUN = 0, ICE_SW_TUN_AND_NON_TUN, ICE_SW_TUN_VXLAN_GPE, - ICE_SW_TUN_GENEVE, - ICE_SW_TUN_VXLAN, + ICE_SW_TUN_GENEVE, /* GENEVE matches only non-VLAN pkts */ + ICE_SW_TUN_GENEVE_VLAN, /* GENEVE matches both VLAN and non-VLAN pkts */ + ICE_SW_TUN_VXLAN, /* VXLAN matches only non-VLAN pkts */ + ICE_SW_TUN_VXLAN_VLAN, /* VXLAN matches both VLAN and non-VLAN pkts */ ICE_SW_TUN_NVGRE, ICE_SW_TUN_UDP, /* This means all "UDP" tunnel types: VXLAN-GPE, VXLAN * and GENEVE */ + ICE_SW_IPV4_TCP, + ICE_SW_IPV4_UDP, + ICE_SW_IPV6_TCP, + ICE_SW_IPV6_UDP, ICE_SW_TUN_GTP, + ICE_SW_TUN_IPV4_GTPU_NO_PAY, + ICE_SW_TUN_IPV6_GTPU_NO_PAY, + 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, + ICE_SW_TUN_PPPOE_IPV4_TCP, + ICE_SW_TUN_PPPOE_IPV4_UDP, + ICE_SW_TUN_PPPOE_IPV6, + ICE_SW_TUN_PPPOE_IPV6_TCP, + ICE_SW_TUN_PPPOE_IPV6_UDP, + ICE_SW_TUN_IPV4_ESP, + ICE_SW_TUN_IPV6_ESP, + ICE_SW_TUN_IPV4_AH, + ICE_SW_TUN_IPV6_AH, + ICE_SW_TUN_IPV4_NAT_T, + ICE_SW_TUN_IPV6_NAT_T, + ICE_SW_TUN_IPV4_L2TPV3, + ICE_SW_TUN_IPV6_L2TPV3, ICE_SW_TUN_PROFID_IPV6_ESP, ICE_SW_TUN_PROFID_IPV6_AH, ICE_SW_TUN_PROFID_MAC_IPV6_L2TPV3, @@ -73,6 +120,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 */ }; @@ -117,6 +176,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, @@ -131,6 +192,7 @@ enum ice_prot_id { #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 @@ -154,7 +216,9 @@ enum ice_prot_id { #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_MASK 0xFF +#define ICE_TUN_FLAG_VLAN_MASK 0x01 #define ICE_TUN_FLAG_FV_IND 2 #define ICE_PROTOCOL_MAX_ENTRIES 16 @@ -287,6 +351,10 @@ struct ice_ah_hdr { __be32 seq; }; +struct ice_nat_t_hdr { + struct ice_esp_hdr esp; +}; + struct ice_nvgre { __be16 flags; __be16 protocol; @@ -309,6 +377,7 @@ union ice_prot_hdr { struct ice_l2tpv3_sess_hdr l2tpv3_sess_hdr; struct ice_esp_hdr esp_hdr; struct ice_ah_hdr ah_hdr; + struct ice_nat_t_hdr nat_t_hdr; }; /* This is mapping table entry that maps every word within a given protocol