> -----Original Message----- > From: Xing, Beilei <beilei.x...@intel.com> > Sent: Wednesday, April 22, 2020 20:23 > To: dev@dpdk.org; Wang, Haiyue <haiyue.w...@intel.com>; Zhang, Qi Z > <qi.z.zh...@intel.com> > Subject: [PATCH] net/ice: fix flow redirector issue > > 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: f10cde8e8478 ("net/ice: get VF hardware index in DCF") > Fixes: dc0f06849e50 ("net/ice: redirect switch rule to new VSI") > > Signed-off-by: Beilei Xing <beilei.x...@intel.com> > --- > 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 4c30f0e..0cd5d1b 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 d4b4ede..bdfc7d4 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.7.4
Acked-by: Haiyue Wang <haiyue.w...@intel.com>