> -----Original Message-----
> From: Zhang, Qi Z <qi.z.zh...@intel.com>
> Sent: Wednesday, October 27, 2021 10:18
> To: Guo, Junfeng <junfeng....@intel.com>; Wu, Jingjing
> <jingjing...@intel.com>; Xing, Beilei <beilei.x...@intel.com>
> Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yi...@intel.com>; Wang, Haiyue
> <haiyue.w...@intel.com>; Yan, Zhirun <zhirun....@intel.com>
> Subject: RE: [PATCH v4 2/4] net/ice/base: add function to set HW profile
> for raw flow
> 
> 
> 
> > -----Original Message-----
> > From: Guo, Junfeng <junfeng....@intel.com>
> > Sent: Wednesday, October 27, 2021 9:58 AM
> > To: Zhang, Qi Z <qi.z.zh...@intel.com>; Wu, Jingjing
> <jingjing...@intel.com>;
> > Xing, Beilei <beilei.x...@intel.com>
> > Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yi...@intel.com>; Wang,
> Haiyue
> > <haiyue.w...@intel.com>; Yan, Zhirun <zhirun....@intel.com>
> > Subject: RE: [PATCH v4 2/4] net/ice/base: add function to set HW
> profile for
> > raw flow
> >
> >
> >
> > > -----Original Message-----
> > > From: Zhang, Qi Z <qi.z.zh...@intel.com>
> > > Sent: Wednesday, October 27, 2021 08:58
> > > To: Guo, Junfeng <junfeng....@intel.com>; Wu, Jingjing
> > > <jingjing...@intel.com>; Xing, Beilei <beilei.x...@intel.com>
> > > Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yi...@intel.com>; Wang,
> Haiyue
> > > <haiyue.w...@intel.com>; Yan, Zhirun <zhirun....@intel.com>
> > > Subject: RE: [PATCH v4 2/4] net/ice/base: add function to set HW
> > > profile for raw flow
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Guo, Junfeng <junfeng....@intel.com>
> > > > Sent: Tuesday, October 26, 2021 8:01 PM
> > > > To: Zhang, Qi Z <qi.z.zh...@intel.com>; Wu, Jingjing
> > > <jingjing...@intel.com>;
> > > > Xing, Beilei <beilei.x...@intel.com>
> > > > Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yi...@intel.com>; Wang,
> > > Haiyue
> > > > <haiyue.w...@intel.com>; Yan, Zhirun <zhirun....@intel.com>;
> Guo,
> > > Junfeng
> > > > <junfeng....@intel.com>
> > > > Subject: [PATCH v4 2/4] net/ice/base: add function to set HW profile
> > > > for
> > > raw
> > > > flow
> > > >
> > > > Based on the parser library, we can directly set HW profile and
> > > > associate
> > > the
> > > > main/ctrl vsi.
> > > >
> > > > Signed-off-by: Junfeng Guo <junfeng....@intel.com>
> > > > ---
> > > >  drivers/net/ice/base/ice_flex_pipe.c | 55 ++++++++++++++++++
> > > > drivers/net/ice/base/ice_flex_pipe.h |  4 ++
> > > >  drivers/net/ice/base/ice_flow.c      | 85
> > > ++++++++++++++++++++++++++++
> > > >  drivers/net/ice/base/ice_flow.h      |  4 ++
> > > >  4 files changed, 148 insertions(+)
> > > >
> > > > diff --git a/drivers/net/ice/base/ice_flex_pipe.c
> > > > b/drivers/net/ice/base/ice_flex_pipe.c
> > > > index 06a233990f..030655f3f0 100644
> > > > --- a/drivers/net/ice/base/ice_flex_pipe.c
> > > > +++ b/drivers/net/ice/base/ice_flex_pipe.c
> > > > @@ -6365,3 +6365,58 @@ ice_rem_prof_id_flow(struct ice_hw
> *hw,
> > > enum
> > > > ice_block blk, u16 vsi, u64 hdl)
> > > >
> > > >  return status;
> > > >  }
> > > > +
> > > > +/**
> > > > + * ice_flow_assoc_hw_prof - add profile id flow for main/ctrl VSI
> > > > +flow entry
> > > > + * @hw: pointer to the HW struct
> > > > + * @blk: HW block
> > > > + * @dest_vsi_handle: dest VSI handle
> > > > + * @fdir_vsi_handle: fdir programming VSI handle
> > > > + * @id: profile id (handle)
> > > > + * @fv_found: found fv in fdir fv list
> > > > + *
> > > > + * Calling this function will update the hardware tables to enable
> > > > +the
> > > > + * profile indicated by the ID parameter for the VSIs specified in
> > > > +the VSI
> > > > + * array. Once successfully called, the flow will be enabled.
> > > > + */
> > > > +enum ice_status
> > > > +ice_flow_assoc_hw_prof(struct ice_hw *hw, enum ice_block blk,
> > > > +       u16 dest_vsi_handle, u16 fdir_vsi_handle, int id,
> > > > +       bool fv_found)
> > >
> > > Do we really need this fv_found parameter?
> >
> > The value of fv_found is set based on the maintained profile info list in
> the PMD.
> > So we need this parameter to add profile id flow for FDIR in the shared
> code.
> 
> I mean if we parse fv_found = true into ice_flow_assoc_hw_prof, nothing
> will happen,
> So why not just remove the parameter and we can do below
> 
> If (!fv_found)
> ice_flow_assoc_hw_prof(...)
> 
> its always better to reduce unnecessary context for simple purpose in a
> function.

Sure, updated in the coming patch set. Thanks!

> 
> >
> > >
> > > If fv_found is true, seems nothing has been done in this function, why
> > > not just check the flag outside the function?
> >
> > Yes, ice_add_prof_id_flow should be processed after ice_add_prof.
> > It's ok if we just move the ice_add_prof_id_flow processing into func
> > ice_flow_set_hw_prof, and delete the func ice_flow_assoc_hw_prof to
> reduce
> > the code size.
> >
> > For RSS, the ice_add_prof_id_flow for adding dest_vsi_handle should
> always be
> > processed.
> > So this function has other RSS logic to add soon.
> >
> > >
> > >
> > >
> >
> 

Reply via email to