[dpdk-dev] [PATCH v3 1/3] app/flow-perf: support meter policy API
Rongwei Liu
rongweil at nvidia.com
Fri Nov 5 11:24:32 CET 2021
HI Tomas:
Flow-perf application run-time options are growing quickly and some of them are a little complex.
Under current architecture, I don't find a valid way to reduce the indention level unless maintainer agree to simply the logic.
For the fill_actions() function, I will rebase it once our github branch updated.
It should be something like:
> > + fill_actions(actions[i], all_actions[i], 0, 0, 0,
> > + 0, 0, 0, unique_data, rx_queues_count, dst_port);
BR
Rongwei
> -----Original Message-----
> From: Thomas Monjalon <thomas at monjalon.net>
> Sent: Friday, November 5, 2021 5:58 PM
> To: Wisam Monther <wisamm at nvidia.com>; Rongwei Liu
> <rongweil at nvidia.com>
> Cc: Matan Azrad <matan at nvidia.com>; Slava Ovsiienko
> <viacheslavo at nvidia.com>; Ori Kam <orika at nvidia.com>; dev at dpdk.org;
> Raslan Darawsheh <rasland at nvidia.com>; Haifei Luo <haifeil at nvidia.com>;
> Jiawei(Jonny) Wang <jiaweiw at nvidia.com>
> Subject: Re: [dpdk-dev] [PATCH v3 1/3] app/flow-perf: support meter policy
> API
>
> External email: Use caution opening links or attachments
>
>
> 28/10/2021 05:25, Rongwei Liu:
> > @@ -854,6 +862,46 @@ args_parse(int argc, char **argv)
> > RTE_MAX_LCORE);
> > }
> > }
> > + if (strcmp(lgopts[opt_idx].name, "policy-mtr") == 0) {
> > + j = 0;
> > + k = 0;
> > + arg = optarg;
> > + policy_mtr = true;
> > + token = strsep(&arg, ":\0");
> > + while (token != NULL && j < RTE_COLORS) {
> > + actions_str[j++] = token;
> > + token = strsep(&arg, ":\0");
> > + }
> > + j = 0;
> > + token = strtok(actions_str[0], ",\0");
> > + while (token == NULL && j < RTE_COLORS - 1)
> > + token = strtok(actions_str[++j], ",\0");
> > + while (j < RTE_COLORS && token != NULL) {
> > + for (i = 0;
> > + i < RTE_DIM(flow_options); i++) {
> > + if (!strcmp(token,
> > + flow_options[i].str)) {
> > + all_actions[j][k++] =
> > + flow_options[i].mask;
> > + break;
> > + }
> > + }
> > + /* Reached last item with no match */
> > + if (i >= RTE_DIM(flow_options)) {
> > + fprintf(stderr,
> > + "Invalid actions "
> > + "item: %s\n", token);
> > + usage(argv[0]);
> > + rte_exit(EXIT_SUCCESS, "Invalid actions item\n");
> > + }
> > + token = strtok(NULL, ",\0");
> > + while (!token && j < RTE_COLORS - 1) {
> > + token = strtok(actions_str[++j],
> > + ",\0");
> > + k = 0;
> > + }
> > + }
> > + }
>
> Could we avoid having so many indents?
> Checkpatch suggest considering a refactoring.
>
> [...]
> > + fill_actions(actions[i], all_actions[i], 0, 0, 0,
> > + 0, 0, 0, unique_data, rx_queues_count);
>
> error: too few arguments to function ‘fill_actions’
>
> That's a rebase issue because I merged first the patch
> "app/flow-perf: add destination ports parameter"
>
>
More information about the dev
mailing list