After VF reset, FDIR rule still takes effect. To solve the issue,
this patch adds to flush all flows before flow uninit. VIRTCHNL
sends message to PF by Admin Queue, so flow flush should be implemented
before Admin Queue shut down.
Fixes:
ff2d0c345c3b ("net/iavf: support generic flow API")
Signed-off-by: Simei Su <simei.su@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
iavf_dev_stop(dev);
+ iavf_flow_flush(dev, NULL);
iavf_shutdown_adminq(hw);
/* disable uio intr before callback unregister */
rte_intr_disable(intr_handle);
static int iavf_flow_destroy(struct rte_eth_dev *dev,
struct rte_flow *flow,
struct rte_flow_error *error);
-static int iavf_flow_flush(struct rte_eth_dev *dev,
- struct rte_flow_error *error);
static int iavf_flow_query(struct rte_eth_dev *dev,
struct rte_flow *flow,
const struct rte_flow_action *actions,
return ret;
}
-static int
+int
iavf_flow_flush(struct rte_eth_dev *dev,
struct rte_flow_error *error)
{
void iavf_register_flow_engine(struct iavf_flow_engine *engine);
int iavf_flow_init(struct iavf_adapter *ad);
void iavf_flow_uninit(struct iavf_adapter *ad);
+int iavf_flow_flush(struct rte_eth_dev *dev,
+ struct rte_flow_error *error);
int iavf_register_parser(struct iavf_flow_parser *parser,
struct iavf_adapter *ad);
void iavf_unregister_parser(struct iavf_flow_parser *parser,