[Intel-wired-lan] [PATCH net v2] ice: add FDIR counter reset in FDIR init stage
Michal Swiatkowski
michal.swiatkowski at linux.intel.com
Fri Mar 10 10:19:31 UTC 2023
On Thu, Mar 09, 2023 at 02:49:34AM +0000, Lingyu Liu wrote:
> From: Junfeng Guo <junfeng.guo at intel.com>
>
> This patch added the missing FDIR counters reset process when
> FDIR inits. Without this patch, when VF initializes or resets,
> all the FDIR counters will not be cleaned, which may cause
> unexpected behaviors for future FDIR rule create (e.g., rule
> conflict).
>
> Fixes: 1f7ea1cd6a37 ("ice: Enable FDIR Configure for AVF")
> Signed-off-by: Junfeng Guo <junfeng.guo at intel.com>
> Signed-off-by: Lingyu Liu <lingyu.liu at intel.com>
> ---
> v2: change commit message to apply more to a kernel use
> ---
> drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c b/drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c
> index e6ef6b303222..60c9da4aac1d 100644
> --- a/drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c
> +++ b/drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c
> @@ -541,6 +541,20 @@ static void ice_vc_fdir_rem_prof_all(struct ice_vf *vf)
> }
> }
>
> +/**
> + * ice_vc_fdir_reset_cnt_all - reset all FDIR counters for this VF FDIR
> + * @fdir: pointer to the VF FDIR structure
> + */
> +static void ice_vc_fdir_reset_cnt_all(struct ice_vf_fdir *fdir)
> +{
> + enum ice_fltr_ptype flow = ICE_FLTR_PTYPE_NONF_NONE;
> +
> + for (; flow < ICE_FLTR_PTYPE_MAX; flow++) {
> + fdir->fdir_fltr_cnt[flow][0] = 0;
> + fdir->fdir_fltr_cnt[flow][1] = 0;
> + }
> +}
> +
> /**
> * ice_vc_fdir_write_flow_prof
> * @vf: pointer to the VF structure
> @@ -1924,6 +1938,7 @@ void ice_vf_fdir_init(struct ice_vf *vf)
> spin_lock_init(&fdir->ctx_lock);
> fdir->ctx_irq.flags = 0;
> fdir->ctx_done.flags = 0;
> + ice_vc_fdir_reset_cnt_all(fdir);
I am fine with this change, however, maybe the better place for
resetting counters will be when the flows are removed? Or maybe
the flow are removed only by hw?
> }
>
> /**
> --
> 2.25.1
>
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
More information about the Intel-wired-lan
mailing list