#define I40E_HASH_HDR_ETH 0x01ULL
#define I40E_HASH_HDR_IPV4 0x10ULL
#define I40E_HASH_HDR_IPV6 0x20ULL
+#define I40E_HASH_HDR_IPV6_FRAG 0x40ULL
#define I40E_HASH_HDR_TCP 0x100ULL
#define I40E_HASH_HDR_UDP 0x200ULL
#define I40E_HASH_HDR_SCTP 0x400ULL
/* IPv6 */
#define I40E_PHINT_IPV6 (I40E_HASH_HDR_ETH | I40E_HASH_HDR_IPV6)
+#define I40E_PHINT_IPV6_FRAG (I40E_PHINT_IPV6 | \
+ I40E_HASH_HDR_IPV6_FRAG)
#define I40E_PHINT_IPV6_TCP (I40E_PHINT_IPV6 | I40E_HASH_HDR_TCP)
#define I40E_PHINT_IPV6_UDP (I40E_PHINT_IPV6 | I40E_HASH_HDR_UDP)
#define I40E_PHINT_IPV6_SCTP (I40E_PHINT_IPV6 | I40E_HASH_HDR_SCTP)
BIT_ULL(RTE_FLOW_ITEM_TYPE_L2TPV3OIP) |\
BIT_ULL(RTE_FLOW_ITEM_TYPE_AH))
+#define I40E_HASH_IPV6_NEXT_ALLOW (I40E_HASH_IP_NEXT_ALLOW | \
+ BIT_ULL(RTE_FLOW_ITEM_TYPE_IPV6_FRAG_EXT))
+
#define I40E_HASH_UDP_NEXT_ALLOW (BIT_ULL(RTE_FLOW_ITEM_TYPE_GTPU) | \
BIT_ULL(RTE_FLOW_ITEM_TYPE_GTPC))
[RTE_FLOW_ITEM_TYPE_VOID] = I40E_HASH_VOID_NEXT_ALLOW,
[RTE_FLOW_ITEM_TYPE_ETH] = I40E_HASH_ETH_NEXT_ALLOW,
[RTE_FLOW_ITEM_TYPE_IPV4] = I40E_HASH_IP_NEXT_ALLOW,
- [RTE_FLOW_ITEM_TYPE_IPV6] = I40E_HASH_IP_NEXT_ALLOW,
+ [RTE_FLOW_ITEM_TYPE_IPV6] = I40E_HASH_IPV6_NEXT_ALLOW,
[RTE_FLOW_ITEM_TYPE_UDP] = I40E_HASH_UDP_NEXT_ALLOW,
[RTE_FLOW_ITEM_TYPE_GTPU] = I40E_HASH_GTPU_NEXT_ALLOW,
};
[RTE_FLOW_ITEM_TYPE_ETH] = I40E_HASH_HDR_ETH,
[RTE_FLOW_ITEM_TYPE_IPV4] = I40E_HASH_HDR_IPV4,
[RTE_FLOW_ITEM_TYPE_IPV6] = I40E_HASH_HDR_IPV6,
+ [RTE_FLOW_ITEM_TYPE_IPV6_FRAG_EXT] = I40E_HASH_HDR_IPV6_FRAG,
[RTE_FLOW_ITEM_TYPE_TCP] = I40E_HASH_HDR_TCP,
[RTE_FLOW_ITEM_TYPE_UDP] = I40E_HASH_HDR_UDP,
[RTE_FLOW_ITEM_TYPE_SCTP] = I40E_HASH_HDR_SCTP,
I40E_HASH_IPV6_L23_RSS_MASK,
I40E_FILTER_PCTYPE_NONF_IPV6_OTHER),
+ I40E_HASH_MAP_PATTERN(I40E_PHINT_IPV6_FRAG,
+ ETH_RSS_FRAG_IPV6 | I40E_HASH_L23_RSS_MASK,
+ I40E_FILTER_PCTYPE_FRAG_IPV6),
+
I40E_HASH_MAP_PATTERN(I40E_PHINT_IPV6_TCP,
ETH_RSS_NONFRAG_IPV6_TCP |
I40E_HASH_IPV6_L234_RSS_MASK,