Hi

> -----Original Message-----
> From: Yigit, Ferruh <ferruh.yi...@intel.com>
> Sent: Friday, February 5, 2021 21:39
> To: Lu, Wenzhuo <wenzhuo...@intel.com>; Li, Xiaoyun <xiaoyun...@intel.com>;
> Iremonger, Bernard <bernard.iremon...@intel.com>; Singh, Jasvinder
> <jasvinder.si...@intel.com>; Wu, Jingjing <jingjing...@intel.com>; Dumitrescu,
> Cristian <cristian.dumitre...@intel.com>; Adrien Mazarguil
> <adrien.mazarg...@6wind.com>
> Cc: Yigit, Ferruh <ferruh.yi...@intel.com>; dev@dpdk.org; sta...@dpdk.org
> Subject: [PATCH] app/testpmd: fix meter commands help strings
> 
> Helps strings syntax is "command : description", the 'command' part was 
> missing,
> updated command help strings.
> 
> Fixes: 281eeb8afc55 ("app/testpmd: add commands for metering and policing")
> Fixes: 30ffb4e67ee3 ("app/testpmd: add commands traffic metering and
> policing")
> Fixes: e63b50162aa3 ("app/testpmd: clean metering and policing commands")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com>
> ---
> Cc: jasvinder.si...@intel.com
> Cc: cristian.dumitre...@intel.com
> 
> - "set port meter dscp table" documented with 'port_id' & 'mtr_id', but
>   command itself is not requiring it, can be better to double check the
>   intention in the command.
> - In command "show port meter stats <port_id> <mtr_id> yes|no", it is
>   not clear what 'yes|no' is, can be better to have a 'clear' keyword
>   there: "show port meter stats <port_id> <mtr_id> clear yes|no"
> - 'meter' commands seems using many high level commands, that is harder
>   to remember when you take all commands into account:
>   "show port meter ..."
>   "add port meter ..."
>   "del port meter ..."
>   "create port meter ..."
>   "enable port meter ..."
>   "disable port meter ..."
>   "set port meter ..."
>   And some high level commands created just for 'meter'. Instead I think
>   it is better to group the commands, like:
>   "port meter [add,del,create,enable,disable] ..."
>   "show port meter ..."
>   It is already too late but it worth to keep in mind for the possible
>   future update.
> ---
>  app/test-pmd/cmdline.c     |  2 +-
>  app/test-pmd/cmdline_mtr.c | 32 ++++++++++++++++++--------------
>  2 files changed, 19 insertions(+), 15 deletions(-)
<snip>
> @@ -827,7 +827,9 @@ static void cmd_create_port_meter_parsed(void
> *parsed_result,  cmdline_parse_inst_t cmd_create_port_meter = {
>       .f = cmd_create_port_meter_parsed,
>       .data = NULL,
> -     .help_str = "Create port meter",
> +     .help_str = "create port meter <port_id> <mtr_id> <profile_id> "
> +             "yes|no R|Y|G|D R|Y|G|D R|Y|G|D <stats_mask> <shared> "

It seems it should be R|Y|G|D|r|y|g|d R|Y|G|D|r|y|g|d R|Y|G|D|r|y|g|d.
What about just use <g_action> <y_action> <r_action> as in cmd_help_long_parsed?

> +             "<use_pre_meter_color> [<dscp_tbl_entry0> <dscp_tbl_entry1>
> +...<dscp_tbl_entry63>]",
>       .tokens = {
>               (void *)&cmd_create_port_meter_create,
>               (void *)&cmd_create_port_meter_port,
<snip>
> cmd_set_port_meter_dscp_table_parsed(void *parsed_result,
> cmdline_parse_inst_t cmd_set_port_meter_dscp_table = {
>       .f = cmd_set_port_meter_dscp_table_parsed,
>       .data = NULL,
> -     .help_str = "Update port meter dscp table",
> +     .help_str = "set port meter dscp table "
> +             "[<dscp_tbl_entry0> <dscp_tbl_entry1> ... <dscp_tbl_entry63>]",

It should be "set port meter dscp table <port_id> <mtr_id> "
                      "[<dscp_tbl_entry0> <dscp_tbl_entry1> ... 
<dscp_tbl_entry63>]"?
Because in parse_multi_token_string(), it starts from port_id. Hmmm... The code 
seems very messy, not inconsistent.

>       .tokens = {
>               (void *)&cmd_set_port_meter_dscp_table_set,
>               (void *)&cmd_set_port_meter_dscp_table_port,
> @@ -1276,7 +1279,8 @@ static void
> cmd_set_port_meter_policer_action_parsed(void *parsed_result,
> cmdline_parse_inst_t cmd_set_port_meter_policer_action = {
>       .f = cmd_set_port_meter_policer_action_parsed,
>       .data = NULL,
> -     .help_str = "Set port meter policer action",
> +     .help_str = "set port meter policer action <port_id> <mtr_id> "
> +             "<action_mask> <actiono> [<action1> <action2>]",

<action0>[ <action1> <action2>]?
Since it seems only 3 actions exist (action_mask & (~0x7UL), check action mask 
part in parse function).
And each action seems to be G|Y|R|D|g|y|r|d. hmmm. Messy code...

>       .tokens = {
>               (void *)&cmd_set_port_meter_policer_action_set,
>               (void *)&cmd_set_port_meter_policer_action_port,
<snip>
> --
> 2.29.2

Reply via email to