From: Beilei Xing Date: Mon, 18 Dec 2017 05:20:57 +0000 (+0800) Subject: net/i40e: fix FDIR input set conflict X-Git-Tag: spdx-start~539 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=fade5c874397f24770b2464903ddc2c423a034b6;p=dpdk.git net/i40e: fix FDIR input set conflict The first FDIR rule for some PCTYPE will configure input set and create flow, the following flows must use the same input set, otherwise it will cause input set conflict and fail to create flow. If it creates the first rule after flow flush, input set should be re-configured. Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR") Cc: stable@dpdk.org Signed-off-by: Beilei Xing Acked-by: Qi Zhang --- diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index 4e92097107..a688a2f7e5 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -4378,6 +4378,7 @@ i40e_flow_flush_fdir_filter(struct i40e_pf *pf) struct rte_eth_dev *dev = pf->adapter->eth_dev; struct i40e_fdir_info *fdir_info = &pf->fdir; struct i40e_fdir_filter *fdir_filter; + enum i40e_filter_pctype pctype; struct rte_flow *flow; void *temp; int ret; @@ -4399,6 +4400,10 @@ i40e_flow_flush_fdir_filter(struct i40e_pf *pf) rte_free(flow); } } + + for (pctype = I40E_FILTER_PCTYPE_NONF_IPV4_UDP; + pctype <= I40E_FILTER_PCTYPE_L2_PAYLOAD; pctype++) + pf->fdir.inset_flag[pctype] = 0; } return ret;