[dpdk-dev] [PATCH v3 1/2] ethdev: add pre-defined meter policy API
Dumitrescu, Cristian
cristian.dumitrescu at intel.com
Wed Apr 14 16:00:48 CEST 2021
> >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
More information about the dev
mailing list