app/testpmd: fix the rule number parsing
Checks
Commit Message
When creating a template table, the object pointer of the
command line "struct context" was set with an offset from the
original out buffer if there is a template ID.
If the "rules_number" is specified after the template IDs, it
couldn't be set and passed to the API correctly. With this commit,
the pointer is reset before pasring the "rules_number" field.
Fixes: c4b38873346b ("app/testpmd: add flow table management")
Cc: akozyrev@nvidia.com
Cc: stable@dpdk.org
Signed-off-by: Bing Zhao <bingz@nvidia.com>
---
app/test-pmd/cmdline_flow.c | 6 ++++++
1 file changed, 6 insertions(+)
Comments
Hi Bing
> -----Original Message-----
> From: Bing Zhao <bingz@nvidia.com>
> Sent: Friday, June 30, 2023 4:30 PM
>
> When creating a template table, the object pointer of the
> command line "struct context" was set with an offset from the
> original out buffer if there is a template ID.
>
> If the "rules_number" is specified after the template IDs, it
> couldn't be set and passed to the API correctly. With this commit,
> the pointer is reset before pasring the "rules_number" field.
>
> Fixes: c4b38873346b ("app/testpmd: add flow table management")
> Cc: akozyrev@nvidia.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Bing Zhao <bingz@nvidia.com>
> ---
Acked-by: Ori Kam <orika@nvidia.com>
Best,
Ori
On 7/10/2023 8:39 AM, Ori Kam wrote:
> Hi Bing
>
>> -----Original Message-----
>> From: Bing Zhao <bingz@nvidia.com>
>> Sent: Friday, June 30, 2023 4:30 PM
>>
>> When creating a template table, the object pointer of the
>> command line "struct context" was set with an offset from the
>> original out buffer if there is a template ID.
>>
>> If the "rules_number" is specified after the template IDs, it
>> couldn't be set and passed to the API correctly. With this commit,
>> the pointer is reset before pasring the "rules_number" field.
>>
>> Fixes: c4b38873346b ("app/testpmd: add flow table management")
>> Cc: akozyrev@nvidia.com
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Bing Zhao <bingz@nvidia.com>
>> ---
>
> Acked-by: Ori Kam <orika@nvidia.com>
>
Applied to dpdk-next-net/main, thanks.
@@ -3369,6 +3369,7 @@ static const struct token token_list[] = {
NEXT_ENTRY(COMMON_UNSIGNED)),
.args = ARGS(ARGS_ENTRY(struct buffer,
args.table.attr.nb_flows)),
+ .call = parse_table,
},
[TABLE_PATTERN_TEMPLATE] = {
.name = "pattern_template",
@@ -10157,6 +10158,11 @@ parse_table(struct context *ctx, const struct token *token,
return -1;
out->args.table.attr.specialize = RTE_FLOW_TABLE_SPECIALIZE_TRANSFER_VPORT_ORIG;
return len;
+ case TABLE_RULES_NUMBER:
+ ctx->objdata = 0;
+ ctx->object = out;
+ ctx->objmask = NULL;
+ return len;
default:
return -1;
}