]> git.droids-corp.org - dpdk.git/commitdiff
net/ice: fix flow redirector
authorBeilei Xing <beilei.xing@intel.com>
Wed, 22 Apr 2020 12:22:44 +0000 (20:22 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 22 Apr 2020 10:31:12 +0000 (12:31 +0200)
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 <beilei.xing@intel.com>
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
drivers/net/ice/ice_dcf.c
drivers/net/ice/ice_dcf_parent.c

index 4c30f0e60e90e758f95c5940f205c11b09661605..0cd5d1bf6b9458c6846fd141c2a788eacfc8b64e 100644 (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);
index d4b4ededb9c80f9d12e78a92db4be9e92d08f912..bdfc7d430637e17f7a2417118ead7f52a34f5351 100644 (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));