From b09d34ac8584ece407283df898b59174fa612d58 Mon Sep 17 00:00:00 2001 From: Beilei Xing Date: Wed, 22 Apr 2020 20:22:44 +0800 Subject: [PATCH] net/ice: fix flow redirector If there's VF reset, the kernel PF will remove rules associated with the reset VF no matter the HW VSI ID is changed or not. So DCF should redirector all rules associated with the reset VF no matter the HW VSI ID is changed or not. Fixes: 3b3757bda3c3 ("net/ice: get VF hardware index in DCF") Fixes: c8183dd8e059 ("net/ice: redirect switch rule to new VSI") Signed-off-by: Beilei Xing Acked-by: Haiyue Wang --- drivers/net/ice/ice_dcf.c | 2 +- drivers/net/ice/ice_dcf_parent.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ice/ice_dcf.c b/drivers/net/ice/ice_dcf.c index 4c30f0e60e..0cd5d1bf6b 100644 --- a/drivers/net/ice/ice_dcf.c +++ b/drivers/net/ice/ice_dcf.c @@ -536,7 +536,7 @@ ice_dcf_handle_vsi_update_event(struct ice_dcf_hw *hw) rte_intr_disable(&pci_dev->intr_handle); ice_dcf_disable_irq0(hw); - if (ice_dcf_get_vf_resource(hw) || ice_dcf_get_vf_vsi_map(hw)) + if (ice_dcf_get_vf_resource(hw) || ice_dcf_get_vf_vsi_map(hw) < 0) err = -1; rte_intr_enable(&pci_dev->intr_handle); diff --git a/drivers/net/ice/ice_dcf_parent.c b/drivers/net/ice/ice_dcf_parent.c index d4b4ededb9..bdfc7d4306 100644 --- a/drivers/net/ice/ice_dcf_parent.c +++ b/drivers/net/ice/ice_dcf_parent.c @@ -45,7 +45,7 @@ ice_dcf_update_vsi_ctx(struct ice_hw *hw, uint16_t vsi_handle, VIRTCHNL_DCF_VF_VSI_ID_S; /* Redirect rules if vsi mapping table changes. */ - if (!first_update && vsi_ctx->vsi_num != new_vsi_num) { + if (!first_update) { struct ice_flow_redirect rd; memset(&rd, 0, sizeof(struct ice_flow_redirect)); -- 2.20.1