From fade5c874397f24770b2464903ddc2c423a034b6 Mon Sep 17 00:00:00 2001 From: Beilei Xing Date: Mon, 18 Dec 2017 13:20:57 +0800 Subject: [PATCH] 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 --- drivers/net/i40e/i40e_flow.c | 5 +++++ 1 file changed, 5 insertions(+) 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; -- 2.20.1