The hash pattern graph had no END edge after ETH, IPv4 and IPv6, so RSS
rules with patterns ending in one of those items were rejected. They
were supported before the rework.
Add the missing END edges.
Fixes: 3332d0afdb61 ("net/i40e: reimplement hash parser")
Signed-off-by: Anatoly Burakov <[email protected]>
---
drivers/net/intel/i40e/i40e_flow_hash.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/intel/i40e/i40e_flow_hash.c
b/drivers/net/intel/i40e/i40e_flow_hash.c
index 78b0544be63..28f2dd0e708 100644
--- a/drivers/net/intel/i40e/i40e_flow_hash.c
+++ b/drivers/net/intel/i40e/i40e_flow_hash.c
@@ -168,8 +168,10 @@ i40e_hash_get_inset(uint64_t rss_types, bool
symmetric_enable)
/*
* Hash pattern graph implementation
- * Pattern: START -> ETH -> [VLAN] -> [VLAN] -> (IPv4|IPv6) ->
(TCP|UDP|SCTP|ESP|L2TPV3OIP|AH)
- * START -> ETH -> [VLAN] -> [VLAN] -> (IPv4|IPv6) frag
+ * Pattern: START -> ETH
+ * START -> ETH -> [VLAN] -> [VLAN] -> (IPv4|IPv6)
+ * START -> ETH -> [VLAN] -> [VLAN] -> (IPv4|IPv6) ->
(TCP|UDP|SCTP|ESP|L2TPV3OIP|AH)
+ * START -> ETH -> [VLAN] -> [VLAN] -> IPv6 -> IPV6_FRAG_EXT
* START -> ETH -> [VLAN] -> [VLAN] -> (IPv4|IPv6) -> UDP ->
(GTPC|ESP|GTPU)
* START -> ETH -> [VLAN] -> [VLAN] -> (IPv4|IPv6) -> UDP -> GTPU ->
(IPv4|IPv6)
*/
@@ -491,6 +493,7 @@ static const struct flow_graph i40e_hash_pattern_graph = {
I40E_HASH_PATTERN_NODE_OUTER_VLAN,
I40E_HASH_PATTERN_NODE_IPV4,
I40E_HASH_PATTERN_NODE_IPV6,
+ I40E_HASH_PATTERN_NODE_END,
FLOW_GRAPH_NODE_EDGE_END
}
},
@@ -517,6 +520,7 @@ static const struct flow_graph i40e_hash_pattern_graph = {
I40E_HASH_PATTERN_NODE_ESP,
I40E_HASH_PATTERN_NODE_L2TPV3OIP,
I40E_HASH_PATTERN_NODE_AH,
+ I40E_HASH_PATTERN_NODE_END,
FLOW_GRAPH_NODE_EDGE_END
}
},
@@ -529,6 +533,7 @@ static const struct flow_graph i40e_hash_pattern_graph = {
I40E_HASH_PATTERN_NODE_ESP,
I40E_HASH_PATTERN_NODE_L2TPV3OIP,
I40E_HASH_PATTERN_NODE_AH,
+ I40E_HASH_PATTERN_NODE_END,
FLOW_GRAPH_NODE_EDGE_END
}
},
--
2.52.0