[PATCH v1 9/9] net/i40e: allow L2 and L3 only hash patterns

Anatoly Burakov anatoly.burakov at intel.com
Fri Oct 30 10:40:22 CET 2026


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 <anatoly.burakov at intel.com>
---
 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



More information about the dev mailing list