[dpdk-stable] [PATCH] net/enic: fix the filter type used for flow API
Hyong Youb Kim
hyonkim at cisco.com
Tue Feb 2 01:24:23 CET 2021
The filter type (struct filter_v2.type) should always be set to
FILTER_DPDK_1, when advanced filtering is enabled in
firmware. Otherwise, for some old firmware versions, the driver sets
it to FILTER_USNIC_IP, and attempts to install filters fail. This
behavior matches that of the now-removed flow director implementation
(enic_clsf.c).
Fixes: 26faa126d87e ("net/enic: flow API for NICs with advanced filters disabled")
Cc: stable at dpdk.org
Signed-off-by: Hyong Youb Kim <hyonkim at cisco.com>
Reviewed-by: John Daley <johndale at cisco.com>
---
drivers/net/enic/enic_flow.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/enic/enic_flow.c b/drivers/net/enic/enic_flow.c
index 97ee7509ce..7eb06f889e 100644
--- a/drivers/net/enic/enic_flow.c
+++ b/drivers/net/enic/enic_flow.c
@@ -1598,6 +1598,8 @@ enic_flow_parse(struct rte_eth_dev *dev,
return -rte_errno;
}
enic_filter->type = enic->flow_filter_mode;
+ if (enic->adv_filters)
+ enic_filter->type = FILTER_DPDK_1;
ret = enic_copy_filter(pattern, enic_filter_cap, enic,
enic_filter, error);
return ret;
--
2.26.2
More information about the stable
mailing list