The rule is incorrectly parsed to ntuple filter when setting the pattern
likes:
flow create ... ipv4 / udp dst is ... / raw ... / end actions ... / end
It causes the rule to be created successfully, but not works. Fix it to
parse for FDIR rules.
Fixes: b7eeecb17556 ("net/txgbe: parse n-tuple filter")
Cc: [email protected]
Signed-off-by: Jiawen Wu <[email protected]>
---
drivers/net/txgbe/txgbe_flow.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/txgbe/txgbe_flow.c b/drivers/net/txgbe/txgbe_flow.c
index 1d854d0767..269f0b54e3 100644
--- a/drivers/net/txgbe/txgbe_flow.c
+++ b/drivers/net/txgbe/txgbe_flow.c
@@ -361,7 +361,7 @@ cons_parse_ntuple_filter(const struct rte_flow_attr *attr,
if (item->type != RTE_FLOW_ITEM_TYPE_END &&
(!item->spec && !item->mask)) {
- goto action;
+ goto item_end;
}
/* get the TCP/UDP/SCTP info */
@@ -490,6 +490,7 @@ cons_parse_ntuple_filter(const struct rte_flow_attr *attr,
goto action;
}
+item_end:
/* check if the next not void item is END */
item = next_no_void_pattern(pattern, item);
if (item->type != RTE_FLOW_ITEM_TYPE_END) {
--
2.48.1