implement operation to flush flow director table Signed-off-by: jingjing.wu <jingjing.wu at intel.com> --- lib/librte_pmd_i40e/i40e_fdir.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/lib/librte_pmd_i40e/i40e_fdir.c b/lib/librte_pmd_i40e/i40e_fdir.c index 5205530..93aa8a1 100644 --- a/lib/librte_pmd_i40e/i40e_fdir.c +++ b/lib/librte_pmd_i40e/i40e_fdir.c @@ -832,7 +832,7 @@ i40e_fdir_flush(struct rte_eth_dev *dev) struct i40e_hw *hw = I40E_PF_TO_HW(pf); uint32_t reg; uint16_t guarant_cnt, best_cnt; - int i; + uint16_t i; I40E_WRITE_REG(hw, I40E_PFQF_CTL_1, I40E_PFQF_CTL_1_CLEARFDTABLE_MASK); I40E_WRITE_FLUSH(hw); @@ -881,7 +881,7 @@ i40e_fdir_ctrl_func(struct rte_eth_dev *dev, return ret; } - if (arg == NULL) + if (arg == NULL && filter_op != RTE_ETH_FILTER_FLUSH) return -EINVAL; switch (filter_op) { @@ -895,6 +895,9 @@ i40e_fdir_ctrl_func(struct rte_eth_dev *dev, (struct rte_eth_fdir_filter *)arg, FALSE); break; + case RTE_ETH_FILTER_FLUSH: + ret = i40e_fdir_flush(dev); + break; default: PMD_DRV_LOG(ERR, "unknown operation %u.", filter_op); ret = -EINVAL; -- 1.8.1.4