app/testpmd: fix flow rule creation parsing
A pattern template creation shares the parsing mechanism with
a simple flow creation. The pattern template creation only consists
of pattern items while the flow creation continues with actions.
The parsing mechanism now accommodates both cases and allows to stop
at the item end token, which should not happen for the flow creation.
Fix parsing mechanism to differentiate between these two cases.
Bugzilla ID: 941
Fixes: 04cc665fab
("app/testpmd: add flow template management")
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Acked-by: Ori Kam <orika@nvidia.com>
Tested-by: Zhimin Huang <zhiminx.huang@intel.com>
This commit is contained in:
parent
00373909c8
commit
e2b1848455
@ -6864,6 +6864,14 @@ parse_vc(struct context *ctx, const struct token *token,
|
|||||||
ctx->object = out->args.vc.pattern;
|
ctx->object = out->args.vc.pattern;
|
||||||
ctx->objmask = NULL;
|
ctx->objmask = NULL;
|
||||||
return len;
|
return len;
|
||||||
|
case ITEM_END:
|
||||||
|
if ((out->command == VALIDATE || out->command == CREATE) &&
|
||||||
|
ctx->last)
|
||||||
|
return -1;
|
||||||
|
if (out->command == PATTERN_TEMPLATE_CREATE &&
|
||||||
|
!ctx->last)
|
||||||
|
return -1;
|
||||||
|
break;
|
||||||
case ACTIONS:
|
case ACTIONS:
|
||||||
out->args.vc.actions =
|
out->args.vc.actions =
|
||||||
(void *)RTE_ALIGN_CEIL((uintptr_t)
|
(void *)RTE_ALIGN_CEIL((uintptr_t)
|
||||||
|
Loading…
Reference in New Issue
Block a user