Hi Cristian,

Thank you for giving suggestion.
Will add in V7 patch.

Regards,
Li Zhang
> -----Original Message-----
> From: Dumitrescu, Cristian <[email protected]>
> Sent: Wednesday, April 14, 2021 10:01 PM
> To: Asaf Penso <[email protected]>; NBU-Contact-Thomas Monjalon
> <[email protected]>; Li Zhang <[email protected]>
> Cc: Ori Kam <[email protected]>; Slava Ovsiienko
> <[email protected]>; Matan Azrad <[email protected]>;
> [email protected]; Wisam Monther <[email protected]>; Li, Xiaoyun
> <[email protected]>; Singh, Jasvinder <[email protected]>; Yigit,
> Ferruh <[email protected]>; Andrew Rybchenko
> <[email protected]>; Ray Kinsella <[email protected]>; Jerin
> Jacob <[email protected]>; Hemant Agrawal
> <[email protected]>; [email protected]; Raslan Darawsheh
> <[email protected]>; Roni Bar Yanai <[email protected]>; Haifei Luo
> <[email protected]>; Jiawei(Jonny) Wang <[email protected]>
> Subject: RE: [dpdk-dev] [PATCH v3 1/2] ethdev: add pre-defined meter policy
> API
> 
> External email: Use caution opening links or attachments
> 
> 
> > >14/04/2021 06:55, Li Zhang:
> > >> > > + * Example #2: GREEN - Do nothing, YELLOW - Do nothing, RED -
> > DROP
> > >> > > + *   struct rte_mtr_meter_policy_params policy_1 =
> > >> > > + *                                   (struct
> > >> > > rte_mtr_meter_policy_params) {
> > >> > > + *           .actions[RTE_COLOR_GREEN] = NULL,
> > >> > > + *           .actions[RTE_COLOR_YELLOW] = NULL,
> > >> > > + *           .actions[RTE_COLOR_RED] = (struct rte_flow_action[]) {
> > >> > > + *                   {
> > >> > > + *                           .type = RTE_FLOW_ACTION_TYPE_DROP,
> > >> > > + *                   },
> > >> > > + *                   {
> > >> > > + *                           .type = RTE_FLOW_ACTION_TYPE_END,
> > >> > > + *                   },
> > >> > > + *           },
> > >> > > + *   };
> > >> > > + *
> > >> >
> > >> > These two example policies should be available to be used
> > >> > straight away, please make them real data structures, not comments.
> > >
> > >Wait, you are giving code examples as part of doxygen?
> > >It's really too long, we don't do that.
> > >
> > >> > I suggest their names as: pass_color_policy_params and
> > >> > drop_red_policy_params.
> > >> >
> > >> Thanks. Will change the names. But it can not be real data
> > >> structures,
> > since it
> > >just one example define and no use code.
> > >> It will bring build as below:
> > >> error: 'drop_red_policy_params' defined but not used.
> > >>  User can copy these example to his .c file when it using
> > >rte_mtr_meter_policy_add().
> > >
> 
> Although these could be looked at as examples, they are really more than
> examples: they are expected to be frequent policies that users would require,
> so it would be good to have them with the API itself.
> 
> Li, I agree we cannot instantiate structs in the header file, how about we
> place them as macros in the header file:
> 
> #define rte_mtr_policy_pass_color struct { \ ...
> 
> #define rte_mtr_policy_drop_red struct { \ ...
> 
> Regards,
> Cristian

Reply via email to