net/i40e: fix unexpected skip FDIR setup
authorQi Zhang <qi.z.zhang@intel.com>
Wed, 3 Jul 2019 06:34:49 +0000 (14:34 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 8 Jul 2019 19:26:52 +0000 (21:26 +0200)
In i40e_flow_flush_fdir_filter, i40e_fdir_teardown is called, so
i40e_fdir_setup is required to be called before create a new fdir flow.

Bugzilla ID: 265
Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically")
Cc: stable@dpdk.org
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
drivers/net/i40e/i40e_flow.c

index d62b32f..48a6782 100644 (file)
@@ -3175,8 +3175,8 @@ i40e_flow_parse_fdir_filter(struct rte_eth_dev *dev,
 
        cons_filter_type = RTE_ETH_FILTER_FDIR;
 
-       if (dev->data->dev_conf.fdir_conf.mode !=
-           RTE_FDIR_MODE_PERFECT) {
+       if (dev->data->dev_conf.fdir_conf.mode != RTE_FDIR_MODE_PERFECT ||
+               pf->fdir.fdir_vsi == NULL) {
                /* Enable fdir when fdir flow is added at first time. */
                ret = i40e_fdir_setup(pf);
                if (ret != I40E_SUCCESS) {