app/testpmd: fix the eCPRI command line style

Message ID 1603949725-95973-1-git-send-email-bingz@nvidia.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series app/testpmd: fix the eCPRI command line style |

Checks

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

Commit Message

Bing Zhao Oct. 29, 2020, 5:35 a.m. UTC
  In the current implementation of eCPRI flow item parsing of the CLI,
the token items in the list are not connected properly.
A command containing "rtc_ctrl rtc_id spec 14857 rtc_id mask 0xff00"
will be considered invalid. In order to support spec with mask, the
common entry needs to be typed twice and the whole command will be
too long.
By changing the token lists, it could support spec with mask without
backing from the entry of the item.

Fixes: 17d103cc9365 ("app/testpmd: add eCPRI in flow creation patterns")

Cc: stable@dpdk.org

Signed-off-by: Bing Zhao <bingz@nvidia.com>
---
 app/test-pmd/cmdline_flow.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
  

Comments

Ferruh Yigit Oct. 30, 2020, 12:29 p.m. UTC | #1
On 10/29/2020 5:35 AM, Bing Zhao wrote:
> In the current implementation of eCPRI flow item parsing of the CLI,
> the token items in the list are not connected properly.
> A command containing "rtc_ctrl rtc_id spec 14857 rtc_id mask 0xff00"
> will be considered invalid. In order to support spec with mask, the
> common entry needs to be typed twice and the whole command will be
> too long.
> By changing the token lists, it could support spec with mask without
> backing from the entry of the item.
> 
> Fixes: 17d103cc9365 ("app/testpmd: add eCPRI in flow creation patterns")
> 
> Cc: stable@dpdk.org
> 
> Signed-off-by: Bing Zhao <bingz@nvidia.com>

Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied to dpdk-next-net/main, thanks.
  

Patch

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index cd35d5b..6b8fed7 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -3204,7 +3204,9 @@  static int comp_set_sample_index(struct context *, const struct token *,
 	[ITEM_ECPRI_MSG_IQ_DATA_PCID] = {
 		.name = "pc_id",
 		.help = "Physical Channel ID",
-		.next = NEXT(item_ecpri, NEXT_ENTRY(UNSIGNED), item_param),
+		.next = NEXT(NEXT_ENTRY(ITEM_ECPRI_MSG_IQ_DATA_PCID,
+				ITEM_ECPRI_COMMON, ITEM_NEXT),
+				NEXT_ENTRY(UNSIGNED), item_param),
 		.args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ecpri,
 				hdr.type0.pc_id)),
 	},
@@ -3218,7 +3220,9 @@  static int comp_set_sample_index(struct context *, const struct token *,
 	[ITEM_ECPRI_MSG_RTC_CTRL_RTCID] = {
 		.name = "rtc_id",
 		.help = "Real-Time Control Data ID",
-		.next = NEXT(item_ecpri, NEXT_ENTRY(UNSIGNED), item_param),
+		.next = NEXT(NEXT_ENTRY(ITEM_ECPRI_MSG_RTC_CTRL_RTCID,
+				ITEM_ECPRI_COMMON, ITEM_NEXT),
+				NEXT_ENTRY(UNSIGNED), item_param),
 		.args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ecpri,
 				hdr.type2.rtc_id)),
 	},
@@ -3232,7 +3236,9 @@  static int comp_set_sample_index(struct context *, const struct token *,
 	[ITEM_ECPRI_MSG_DLY_MSR_MSRID] = {
 		.name = "msr_id",
 		.help = "Measurement ID",
-		.next = NEXT(item_ecpri, NEXT_ENTRY(UNSIGNED), item_param),
+		.next = NEXT(NEXT_ENTRY(ITEM_ECPRI_MSG_DLY_MSR_MSRID,
+				ITEM_ECPRI_COMMON, ITEM_NEXT),
+				NEXT_ENTRY(UNSIGNED), item_param),
 		.args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ecpri,
 				hdr.type5.msr_id)),
 	},