[dpdk-dev] [PATCH] app/testpmd: fix flow tunnel create command

Ferruh Yigit ferruh.yigit at intel.com
Tue Nov 17 13:51:05 CET 2020


On 11/15/2020 11:23 AM, Gregory Etelson wrote:
> testpmd provides commands to test tunnel offload rte_flow
> capabilities. A command that creates a tunnel had a syntax bug that
> allowed to spesify the 'create' command part several times.
> 
> Current patch fixed that fault. Correct syntax for tunnel cretion is:
> testpmd> flow tunnel create <port> type <tunnel type>
> 

multiple times 'type' still supported, is it intentional:
flow tunnel create 0 type "a" type "b" type "c"

Also 'list' and 'destroy' can be issued multiple times, is it a valid usage:
flow tunnel list 0 list 0 list 0
flow tunnel destroy 0 destroy 0 destroy 0
flow tunnel destroy 0 id 0 id 1 id 2
flow tunnel destroy 0 id 0 destroy 0 id 1 id 2 destroy 0

> Signed-off-by: Gregory Etelson <getelson at nvidia.com>
> Acked-by: Ori Kam <orika at nvidia.com>
> ---
>   app/test-pmd/cmdline_flow.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
> index 457f74078d..bf00ba0acb 100644
> --- a/app/test-pmd/cmdline_flow.c
> +++ b/app/test-pmd/cmdline_flow.c
> @@ -812,8 +812,7 @@ static const enum index next_vc_attr[] = {
>   	ZERO,
>   };
>   
> -static const enum index tunnel_create_attr[] = {
> -	TUNNEL_CREATE,
> +static const enum index tunnel_create_type_attr[] = {
>   	TUNNEL_CREATE_TYPE,
>   	END,
>   	ZERO,
> @@ -2009,14 +2008,15 @@ static const struct token token_list[] = {
>   	[TUNNEL_CREATE] = {
>   		.name = "create",
>   		.help = "create new tunnel object",
> -		.next = NEXT(tunnel_create_attr, NEXT_ENTRY(PORT_ID)),
> +		.next = NEXT(NEXT_ENTRY(TUNNEL_CREATE_TYPE),
> +			     NEXT_ENTRY(PORT_ID)),
>   		.args = ARGS(ARGS_ENTRY(struct buffer, port)),
>   		.call = parse_tunnel,
>   	},
>   	[TUNNEL_CREATE_TYPE] = {
>   		.name = "type",
>   		.help = "create new tunnel",
> -		.next = NEXT(tunnel_create_attr, NEXT_ENTRY(FILE_PATH)),
> +		.next = NEXT(tunnel_create_type_attr, NEXT_ENTRY(FILE_PATH)),
>   		.args = ARGS(ARGS_ENTRY(struct tunnel_ops, type)),
>   		.call = parse_tunnel,
>   	},
> 



More information about the dev mailing list