txgbe_flow_create() continues to RSS parsing when L2 tunnel filter
add fails. An E-tag VF/PF rule cannot match RSS, so the original
error is overwritten.

Return immediately on L2 add failure, same as ntuple, ethertype and
SYN.

Fixes: 5c2352b9ece6 ("net/txgbe: support creating consistent filter")
Cc: [email protected]

Signed-off-by: Zhang Tengfei <[email protected]>
---
 drivers/net/txgbe/txgbe_flow.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/txgbe/txgbe_flow.c b/drivers/net/txgbe/txgbe_flow.c
index eaeb973c91..76191a7c2d 100644
--- a/drivers/net/txgbe/txgbe_flow.c
+++ b/drivers/net/txgbe/txgbe_flow.c
@@ -3449,6 +3449,7 @@ txgbe_flow_create(struct rte_eth_dev *dev,
                        flow->filter_type = RTE_ETH_FILTER_L2_TUNNEL;
                        return flow;
                }
+               goto out;
        }
 
        memset(&rss_conf, 0, sizeof(struct txgbe_rte_flow_rss_conf));
-- 
2.53.0

Reply via email to