net/i40e: add packet type metadata in vector Rx
The ptype is decoded from the Rx descriptor and stored in the packet type field in the mbuf using the same function in the non-vector driver. Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Jing Chen <jing.d.chen@intel.com>
This commit is contained in:
parent
c771e4ef38
commit
5ea0942129
@ -174,569 +174,6 @@ i40e_get_iee15888_flags(struct rte_mbuf *mb, uint64_t qword)
|
||||
}
|
||||
#endif
|
||||
|
||||
/* For each value it means, datasheet of hardware can tell more details
|
||||
*
|
||||
* @note: fix i40e_dev_supported_ptypes_get() if any change here.
|
||||
*/
|
||||
static inline uint32_t
|
||||
i40e_rxd_pkt_type_mapping(uint8_t ptype)
|
||||
{
|
||||
static const uint32_t type_table[UINT8_MAX + 1] __rte_cache_aligned = {
|
||||
/* L2 types */
|
||||
/* [0] reserved */
|
||||
[1] = RTE_PTYPE_L2_ETHER,
|
||||
[2] = RTE_PTYPE_L2_ETHER_TIMESYNC,
|
||||
/* [3] - [5] reserved */
|
||||
[6] = RTE_PTYPE_L2_ETHER_LLDP,
|
||||
/* [7] - [10] reserved */
|
||||
[11] = RTE_PTYPE_L2_ETHER_ARP,
|
||||
/* [12] - [21] reserved */
|
||||
|
||||
/* Non tunneled IPv4 */
|
||||
[22] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[23] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_NONFRAG,
|
||||
[24] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
/* [25] reserved */
|
||||
[26] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[27] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_SCTP,
|
||||
[28] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_ICMP,
|
||||
|
||||
/* IPv4 --> IPv4 */
|
||||
[29] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[30] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[31] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [32] reserved */
|
||||
[33] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[34] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[35] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> IPv6 */
|
||||
[36] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[37] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[38] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [39] reserved */
|
||||
[40] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[41] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[42] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN */
|
||||
[43] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> IPv4 */
|
||||
[44] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[45] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[46] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [47] reserved */
|
||||
[48] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[49] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[50] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> IPv6 */
|
||||
[51] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[52] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[53] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [54] reserved */
|
||||
[55] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[56] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[57] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> MAC */
|
||||
[58] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> MAC --> IPv4 */
|
||||
[59] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[60] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[61] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [62] reserved */
|
||||
[63] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[64] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[65] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> MAC --> IPv6 */
|
||||
[66] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[67] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[68] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [69] reserved */
|
||||
[70] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[71] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[72] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> MAC/VLAN */
|
||||
[73] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv4 */
|
||||
[74] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[75] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[76] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [77] reserved */
|
||||
[78] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[79] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[80] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv6 */
|
||||
[81] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[82] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[83] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [84] reserved */
|
||||
[85] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[86] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[87] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* Non tunneled IPv6 */
|
||||
[88] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[89] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_NONFRAG,
|
||||
[90] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
/* [91] reserved */
|
||||
[92] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[93] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_SCTP,
|
||||
[94] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_ICMP,
|
||||
|
||||
/* IPv6 --> IPv4 */
|
||||
[95] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[96] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[97] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [98] reserved */
|
||||
[99] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[100] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[101] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> IPv6 */
|
||||
[102] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[103] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[104] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [105] reserved */
|
||||
[106] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[107] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[108] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN */
|
||||
[109] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> IPv4 */
|
||||
[110] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[111] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[112] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [113] reserved */
|
||||
[114] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[115] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[116] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> IPv6 */
|
||||
[117] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[118] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[119] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [120] reserved */
|
||||
[121] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[122] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[123] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> MAC */
|
||||
[124] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> MAC --> IPv4 */
|
||||
[125] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[126] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[127] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [128] reserved */
|
||||
[129] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[130] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[131] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> MAC --> IPv6 */
|
||||
[132] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[133] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[134] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [135] reserved */
|
||||
[136] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[137] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[138] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> MAC/VLAN */
|
||||
[139] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv4 */
|
||||
[140] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[141] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[142] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [143] reserved */
|
||||
[144] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[145] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[146] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv6 */
|
||||
[147] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[148] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[149] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [150] reserved */
|
||||
[151] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[152] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[153] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* L2 NSH packet type */
|
||||
[154] = RTE_PTYPE_L2_ETHER_NSH,
|
||||
[155] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[156] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_NONFRAG,
|
||||
[157] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
[158] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[159] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_SCTP,
|
||||
[160] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_ICMP,
|
||||
[161] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[162] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_NONFRAG,
|
||||
[163] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
[164] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[165] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_SCTP,
|
||||
[166] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_ICMP,
|
||||
|
||||
/* All others reserved */
|
||||
};
|
||||
|
||||
return type_table[ptype];
|
||||
}
|
||||
|
||||
#define I40E_RX_DESC_EXT_STATUS_FLEXBH_MASK 0x03
|
||||
#define I40E_RX_DESC_EXT_STATUS_FLEXBH_FD_ID 0x01
|
||||
#define I40E_RX_DESC_EXT_STATUS_FLEXBH_FLEX 0x02
|
||||
@ -2174,7 +1611,9 @@ i40e_dev_supported_ptypes_get(struct rte_eth_dev *dev)
|
||||
#ifdef RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
|
||||
dev->rx_pkt_burst == i40e_recv_pkts_bulk_alloc ||
|
||||
#endif
|
||||
dev->rx_pkt_burst == i40e_recv_scattered_pkts)
|
||||
dev->rx_pkt_burst == i40e_recv_scattered_pkts ||
|
||||
dev->rx_pkt_burst == i40e_recv_scattered_pkts_vec ||
|
||||
dev->rx_pkt_burst == i40e_recv_pkts_vec)
|
||||
return ptypes;
|
||||
return NULL;
|
||||
}
|
||||
|
@ -255,4 +255,567 @@ void i40e_set_tx_function_flag(struct rte_eth_dev *dev,
|
||||
struct i40e_tx_queue *txq);
|
||||
void i40e_set_tx_function(struct rte_eth_dev *dev);
|
||||
|
||||
/* For each value it means, datasheet of hardware can tell more details
|
||||
*
|
||||
* @note: fix i40e_dev_supported_ptypes_get() if any change here.
|
||||
*/
|
||||
static inline uint32_t
|
||||
i40e_rxd_pkt_type_mapping(uint8_t ptype)
|
||||
{
|
||||
static const uint32_t type_table[UINT8_MAX + 1] __rte_cache_aligned = {
|
||||
/* L2 types */
|
||||
/* [0] reserved */
|
||||
[1] = RTE_PTYPE_L2_ETHER,
|
||||
[2] = RTE_PTYPE_L2_ETHER_TIMESYNC,
|
||||
/* [3] - [5] reserved */
|
||||
[6] = RTE_PTYPE_L2_ETHER_LLDP,
|
||||
/* [7] - [10] reserved */
|
||||
[11] = RTE_PTYPE_L2_ETHER_ARP,
|
||||
/* [12] - [21] reserved */
|
||||
|
||||
/* Non tunneled IPv4 */
|
||||
[22] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[23] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_NONFRAG,
|
||||
[24] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
/* [25] reserved */
|
||||
[26] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[27] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_SCTP,
|
||||
[28] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_ICMP,
|
||||
|
||||
/* IPv4 --> IPv4 */
|
||||
[29] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[30] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[31] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [32] reserved */
|
||||
[33] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[34] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[35] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> IPv6 */
|
||||
[36] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[37] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[38] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [39] reserved */
|
||||
[40] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[41] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[42] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN */
|
||||
[43] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> IPv4 */
|
||||
[44] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[45] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[46] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [47] reserved */
|
||||
[48] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[49] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[50] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> IPv6 */
|
||||
[51] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[52] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[53] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [54] reserved */
|
||||
[55] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[56] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[57] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> MAC */
|
||||
[58] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> MAC --> IPv4 */
|
||||
[59] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[60] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[61] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [62] reserved */
|
||||
[63] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[64] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[65] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> MAC --> IPv6 */
|
||||
[66] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[67] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[68] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [69] reserved */
|
||||
[70] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[71] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[72] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> MAC/VLAN */
|
||||
[73] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv4 */
|
||||
[74] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[75] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[76] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [77] reserved */
|
||||
[78] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[79] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[80] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv4 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv6 */
|
||||
[81] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[82] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[83] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [84] reserved */
|
||||
[85] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[86] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[87] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* Non tunneled IPv6 */
|
||||
[88] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[89] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_NONFRAG,
|
||||
[90] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
/* [91] reserved */
|
||||
[92] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[93] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_SCTP,
|
||||
[94] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_ICMP,
|
||||
|
||||
/* IPv6 --> IPv4 */
|
||||
[95] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[96] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[97] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [98] reserved */
|
||||
[99] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[100] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[101] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> IPv6 */
|
||||
[102] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[103] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[104] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [105] reserved */
|
||||
[106] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[107] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[108] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_IP |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN */
|
||||
[109] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> IPv4 */
|
||||
[110] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[111] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[112] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [113] reserved */
|
||||
[114] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[115] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[116] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> IPv6 */
|
||||
[117] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[118] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[119] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [120] reserved */
|
||||
[121] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[122] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[123] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> MAC */
|
||||
[124] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> MAC --> IPv4 */
|
||||
[125] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[126] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[127] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [128] reserved */
|
||||
[129] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[130] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[131] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> MAC --> IPv6 */
|
||||
[132] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[133] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[134] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [135] reserved */
|
||||
[136] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[137] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[138] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> MAC/VLAN */
|
||||
[139] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv4 */
|
||||
[140] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[141] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[142] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [143] reserved */
|
||||
[144] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[145] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[146] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* IPv6 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv6 */
|
||||
[147] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_FRAG,
|
||||
[148] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_NONFRAG,
|
||||
[149] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_UDP,
|
||||
/* [150] reserved */
|
||||
[151] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_TCP,
|
||||
[152] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_SCTP,
|
||||
[153] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_TUNNEL_GRENAT |
|
||||
RTE_PTYPE_INNER_L2_ETHER_VLAN |
|
||||
RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_INNER_L4_ICMP,
|
||||
|
||||
/* L2 NSH packet type */
|
||||
[154] = RTE_PTYPE_L2_ETHER_NSH,
|
||||
[155] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[156] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_NONFRAG,
|
||||
[157] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
[158] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[159] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_SCTP,
|
||||
[160] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_ICMP,
|
||||
[161] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_FRAG,
|
||||
[162] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_NONFRAG,
|
||||
[163] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_UDP,
|
||||
[164] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_TCP,
|
||||
[165] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_SCTP,
|
||||
[166] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
|
||||
RTE_PTYPE_L4_ICMP,
|
||||
|
||||
/* All others reserved */
|
||||
};
|
||||
|
||||
return type_table[ptype];
|
||||
}
|
||||
|
||||
#endif /* _I40E_RXTX_H_ */
|
||||
|
@ -187,6 +187,21 @@ desc_to_olflags_v(__m128i descs[4], struct rte_mbuf **rx_pkts)
|
||||
|
||||
#define PKTLEN_SHIFT 10
|
||||
|
||||
static inline void
|
||||
desc_to_ptype_v(__m128i descs[4], struct rte_mbuf **rx_pkts)
|
||||
{
|
||||
__m128i ptype0 = _mm_unpackhi_epi64(descs[0], descs[1]);
|
||||
__m128i ptype1 = _mm_unpackhi_epi64(descs[2], descs[3]);
|
||||
|
||||
ptype0 = _mm_srli_epi64(ptype0, 30);
|
||||
ptype1 = _mm_srli_epi64(ptype1, 30);
|
||||
|
||||
rx_pkts[0]->packet_type = i40e_rxd_pkt_type_mapping(_mm_extract_epi8(ptype0, 0));
|
||||
rx_pkts[1]->packet_type = i40e_rxd_pkt_type_mapping(_mm_extract_epi8(ptype0, 8));
|
||||
rx_pkts[2]->packet_type = i40e_rxd_pkt_type_mapping(_mm_extract_epi8(ptype1, 0));
|
||||
rx_pkts[3]->packet_type = i40e_rxd_pkt_type_mapping(_mm_extract_epi8(ptype1, 8));
|
||||
}
|
||||
|
||||
/*
|
||||
* Notice:
|
||||
* - nb_pkts < RTE_I40E_DESCS_PER_LOOP, just return no packet
|
||||
@ -393,6 +408,7 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
|
||||
pkt_mb2);
|
||||
_mm_storeu_si128((void *)&rx_pkts[pos]->rx_descriptor_fields1,
|
||||
pkt_mb1);
|
||||
desc_to_ptype_v(descs, &rx_pkts[pos]);
|
||||
/* C.4 calc avaialbe number of desc */
|
||||
var = __builtin_popcountll(_mm_cvtsi128_si64(staterr));
|
||||
nb_pkts_recd += var;
|
||||
|
Loading…
Reference in New Issue
Block a user