app/testpmd: fix flex item input link parsing

Message ID 20220310055953.32380-1-getelson@nvidia.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series app/testpmd: fix flex item input link parsing |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/github-robot: build success github build: passed
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-abi-testing success Testing PASS

Commit Message

Etelson, Gregory March 10, 2022, 5:59 a.m. UTC
Testpmd reads flex item configuration from a JSON file.
Flex item input link description is stored in testpmd
flow item format. For example, `eth type is 0x0800`.
The item description is placed into a general testpmd CLI
flow rule command template and parsed to convert string into
flow item object.

The patch adds the `actions` section to the flow rule template.

Cc: stable@dpdk.org

Fixes: 59f3a8acbcdb ("app/testpmd: add flex item commands")
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
---
 app/test-pmd/cmd_flex_item.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

Slava Ovsiienko March 14, 2022, 8:48 a.m. UTC | #1
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>

> -----Original Message-----
> From: Gregory Etelson <getelson@nvidia.com>
> Sent: Thursday, March 10, 2022 8:00
> To: dev@dpdk.org
> Cc: Gregory Etelson <getelson@nvidia.com>; Matan Azrad
> <matan@nvidia.com>; Raslan Darawsheh <rasland@nvidia.com>;
> stable@dpdk.org; Xiaoyun Li <xiaoyun.li@intel.com>; Aman Singh
> <aman.deep.singh@intel.com>; Yuying Zhang <yuying.zhang@intel.com>;
> Slava Ovsiienko <viacheslavo@nvidia.com>
> Subject: [PATCH] app/testpmd: fix flex item input link parsing
> 
> Testpmd reads flex item configuration from a JSON file.
> Flex item input link description is stored in testpmd flow item format. For
> example, `eth type is 0x0800`.
> The item description is placed into a general testpmd CLI flow rule command
> template and parsed to convert string into flow item object.
> 
> The patch adds the `actions` section to the flow rule template.
> 
> Cc: stable@dpdk.org
> 
> Fixes: 59f3a8acbcdb ("app/testpmd: add flex item commands")
> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
> ---
>  app/test-pmd/cmd_flex_item.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/app/test-pmd/cmd_flex_item.c b/app/test-pmd/cmd_flex_item.c
> index 9050825a81..78a89c0f8a 100644
> --- a/app/test-pmd/cmd_flex_item.c
> +++ b/app/test-pmd/cmd_flex_item.c
> @@ -133,7 +133,8 @@ flex_link_item_parse(const char *src, struct
> rte_flow_item *item)
>  	struct rte_flow_item *pattern;
>  	struct rte_flow_action *actions;
> 
> -	sprintf(flow_rule, "flow create 0 pattern %s / end", src);
> +	sprintf(flow_rule,
> +		"flow create 0 pattern %s / end actions drop / end", src);
>  	src = flow_rule;
>  	ret = flow_parse(src, (void *)data, sizeof(data),
>  			 &attr, &pattern, &actions);
> --
> 2.35.1
  
Thomas Monjalon March 14, 2022, 9:33 p.m. UTC | #2
> > Testpmd reads flex item configuration from a JSON file.
> > Flex item input link description is stored in testpmd flow item format. For
> > example, `eth type is 0x0800`.
> > The item description is placed into a general testpmd CLI flow rule command
> > template and parsed to convert string into flow item object.
> > 
> > The patch adds the `actions` section to the flow rule template.
> > 
> > Cc: stable@dpdk.org
> > 
> > Fixes: 59f3a8acbcdb ("app/testpmd: add flex item commands")
> > Signed-off-by: Gregory Etelson <getelson@nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>

Applied, thanks.
  

Patch

diff --git a/app/test-pmd/cmd_flex_item.c b/app/test-pmd/cmd_flex_item.c
index 9050825a81..78a89c0f8a 100644
--- a/app/test-pmd/cmd_flex_item.c
+++ b/app/test-pmd/cmd_flex_item.c
@@ -133,7 +133,8 @@  flex_link_item_parse(const char *src, struct rte_flow_item *item)
 	struct rte_flow_item *pattern;
 	struct rte_flow_action *actions;
 
-	sprintf(flow_rule, "flow create 0 pattern %s / end", src);
+	sprintf(flow_rule,
+		"flow create 0 pattern %s / end actions drop / end", src);
 	src = flow_rule;
 	ret = flow_parse(src, (void *)data, sizeof(data),
 			 &attr, &pattern, &actions);