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: 3b3757bda3 ("net/ice: get VF hardware index in DCF")
Fixes: c8183dd8e0 ("net/ice: redirect switch rule to new VSI")

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
This commit is contained in:
Beilei Xing 2020-04-22 20:22:44 +08:00 committed by Ferruh Yigit
parent fdfbfe7085
commit b09d34ac85
2 changed files with 2 additions and 2 deletions

View File

@ -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);

View File

@ -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));