net/enic: fix filter type used for flow API
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@dpdk.org Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com> Reviewed-by: John Daley <johndale@cisco.com>
This commit is contained in:
parent
5611763610
commit
d700f0d0d7
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user