X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-pmd%2Fcmdline.c;h=524c75b267c5f6369988125a4a12fef0009c209c;hb=b415b7a06856b148ace29ffcc6e9740a12b9ec33;hp=0f33948e832840dc1867196f4add49d3787bd580;hpb=0e4b196326fb3bf7cd6255d58071795858d29427;p=dpdk.git diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 0f33948e83..524c75b267 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -166,6 +166,9 @@ static void cmd_help_long_parsed(void *parsed_result, "show port (info|stats|summary|xstats|fdir|stat_qmap|dcb_tc|cap) (port_id|all)\n" " Display information for port_id, or all.\n\n" + "show port port_id (module_eeprom|eeprom)\n" + " Display the module EEPROM or EEPROM information for port_id.\n\n" + "show port X rss reta (size) (mask0,mask1,...)\n" " Display the rss redirection table entry indicated" " by masks on port X. size is used to indicate the" @@ -800,7 +803,8 @@ static void cmd_help_long_parsed(void *parsed_result, "receive buffers available.\n\n" "port config all rss (all|default|ip|tcp|udp|sctp|" - "ether|port|vxlan|geneve|nvgre|vxlan-gpe|none|)\n" + "ether|port|vxlan|geneve|nvgre|vxlan-gpe|none|level-default|" + "level-outer|level-inner|)\n" " Set the RSS mode.\n\n" "port config port-id rss reta (hash,queue)[,(hash,queue)]\n" @@ -1198,7 +1202,7 @@ static void cmd_help_long_parsed(void *parsed_result, "add port tm node shaper profile (port_id) (shaper_profile_id)" " (cmit_tb_rate) (cmit_tb_size) (peak_tb_rate) (peak_tb_size)" - " (packet_length_adjust)\n" + " (packet_length_adjust) (packet_mode)\n" " Add port tm node private shaper profile.\n\n" "del port tm node shaper profile (port_id) (shaper_profile_id)\n" @@ -1230,6 +1234,12 @@ static void cmd_help_long_parsed(void *parsed_result, " [(shared_shaper_id_0) (shared_shaper_id_1)...]\n" " Add port tm nonleaf node.\n\n" + "add port tm nonleaf node pktmode (port_id) (node_id) (parent_node_id)" + " (priority) (weight) (level_id) (shaper_profile_id)" + " (n_sp_priorities) (stats_mask) (n_shared_shapers)" + " [(shared_shaper_id_0) (shared_shaper_id_1)...]\n" + " Add port tm nonleaf node with pkt mode enabled.\n\n" + "add port tm leaf node (port_id) (node_id) (parent_node_id)" " (priority) (weight) (level_id) (shaper_profile_id)" " (cman_mode) (wred_profile_id) (stats_mask) (n_shared_shapers)" @@ -2340,7 +2350,16 @@ cmd_config_rss_parsed(void *parsed_result, rss_conf.rss_hf = ETH_RSS_GTPU; else if (!strcmp(res->value, "none")) rss_conf.rss_hf = 0; - else if (!strcmp(res->value, "default")) + else if (!strcmp(res->value, "level-default")) { + rss_hf &= (~ETH_RSS_LEVEL_MASK); + rss_conf.rss_hf = (rss_hf | ETH_RSS_LEVEL_PMD_DEFAULT); + } else if (!strcmp(res->value, "level-outer")) { + rss_hf &= (~ETH_RSS_LEVEL_MASK); + rss_conf.rss_hf = (rss_hf | ETH_RSS_LEVEL_OUTERMOST); + } else if (!strcmp(res->value, "level-inner")) { + rss_hf &= (~ETH_RSS_LEVEL_MASK); + rss_conf.rss_hf = (rss_hf | ETH_RSS_LEVEL_INNERMOST); + } else if (!strcmp(res->value, "default")) use_default = 1; else if (isdigit(res->value[0]) && atoi(res->value) > 0 && atoi(res->value) < 64) @@ -2399,7 +2418,8 @@ cmdline_parse_inst_t cmd_config_rss = { .data = NULL, .help_str = "port config all rss " "all|default|eth|vlan|ip|tcp|udp|sctp|ether|port|vxlan|geneve|" - "nvgre|vxlan-gpe|l2tpv3|esp|ah|pfcp|none|", + "nvgre|vxlan-gpe|l2tpv3|esp|ah|pfcp|none|level-default|" + "level-outer|level-inner|", .tokens = { (void *)&cmd_config_rss_port, (void *)&cmd_config_rss_keyword, @@ -4274,6 +4294,9 @@ cmd_tx_vlan_set_parsed(void *parsed_result, { struct cmd_tx_vlan_set_result *res = parsed_result; + if (port_id_is_invalid(res->port_id, ENABLED_WARN)) + return; + if (!port_is_stopped(res->port_id)) { printf("Please stop port %d first\n", res->port_id); return; @@ -4328,6 +4351,9 @@ cmd_tx_vlan_set_qinq_parsed(void *parsed_result, { struct cmd_tx_vlan_set_qinq_result *res = parsed_result; + if (port_id_is_invalid(res->port_id, ENABLED_WARN)) + return; + if (!port_is_stopped(res->port_id)) { printf("Please stop port %d first\n", res->port_id); return; @@ -4441,6 +4467,9 @@ cmd_tx_vlan_reset_parsed(void *parsed_result, { struct cmd_tx_vlan_reset_result *res = parsed_result; + if (port_id_is_invalid(res->port_id, ENABLED_WARN)) + return; + if (!port_is_stopped(res->port_id)) { printf("Please stop port %d first\n", res->port_id); return; @@ -7688,6 +7717,51 @@ cmdline_parse_inst_t cmd_showdevice = { NULL, }, }; + +/* *** SHOW MODULE EEPROM/EEPROM port INFO *** */ +struct cmd_showeeprom_result { + cmdline_fixed_string_t show; + cmdline_fixed_string_t port; + uint16_t portnum; + cmdline_fixed_string_t type; +}; + +static void cmd_showeeprom_parsed(void *parsed_result, + __rte_unused struct cmdline *cl, + __rte_unused void *data) +{ + struct cmd_showeeprom_result *res = parsed_result; + + if (!strcmp(res->type, "eeprom")) + port_eeprom_display(res->portnum); + else if (!strcmp(res->type, "module_eeprom")) + port_module_eeprom_display(res->portnum); + else + printf("Unknown argument\n"); +} + +cmdline_parse_token_string_t cmd_showeeprom_show = + TOKEN_STRING_INITIALIZER(struct cmd_showeeprom_result, show, "show"); +cmdline_parse_token_string_t cmd_showeeprom_port = + TOKEN_STRING_INITIALIZER(struct cmd_showeeprom_result, port, "port"); +cmdline_parse_token_num_t cmd_showeeprom_portnum = + TOKEN_NUM_INITIALIZER(struct cmd_showeeprom_result, portnum, UINT16); +cmdline_parse_token_string_t cmd_showeeprom_type = + TOKEN_STRING_INITIALIZER(struct cmd_showeeprom_result, type, "module_eeprom#eeprom"); + +cmdline_parse_inst_t cmd_showeeprom = { + .f = cmd_showeeprom_parsed, + .data = NULL, + .help_str = "show port module_eeprom|eeprom", + .tokens = { + (void *)&cmd_showeeprom_show, + (void *)&cmd_showeeprom_port, + (void *)&cmd_showeeprom_portnum, + (void *)&cmd_showeeprom_type, + NULL, + }, +}; + /* *** SHOW QUEUE INFO *** */ struct cmd_showqueue_result { cmdline_fixed_string_t show; @@ -19490,6 +19564,7 @@ cmdline_parse_ctx_t main_ctx[] = { (cmdline_parse_inst_t *)&cmd_load_from_file, (cmdline_parse_inst_t *)&cmd_showport, (cmdline_parse_inst_t *)&cmd_showqueue, + (cmdline_parse_inst_t *)&cmd_showeeprom, (cmdline_parse_inst_t *)&cmd_showportall, (cmdline_parse_inst_t *)&cmd_showdevice, (cmdline_parse_inst_t *)&cmd_showcfg, @@ -19748,6 +19823,7 @@ cmdline_parse_ctx_t main_ctx[] = { (cmdline_parse_inst_t *)&cmd_del_port_tm_node_wred_profile, (cmdline_parse_inst_t *)&cmd_set_port_tm_node_shaper_profile, (cmdline_parse_inst_t *)&cmd_add_port_tm_nonleaf_node, + (cmdline_parse_inst_t *)&cmd_add_port_tm_nonleaf_node_pmode, (cmdline_parse_inst_t *)&cmd_add_port_tm_leaf_node, (cmdline_parse_inst_t *)&cmd_del_port_tm_node, (cmdline_parse_inst_t *)&cmd_set_port_tm_node_parent,