app/testpmd: load commands from file at runtime
Adds support to testpmd to load a set of cmdline CLI commands at runtime. This can be helpful when needing to cut-n-paste many commands where cut-n-paste may not be practical. testpmd> load /home/ubuntu/somefile.txt Signed-off-by: Allain Legacy <allain.legacy@windriver.com> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
This commit is contained in:
parent
81ef862b51
commit
a8c6a1ae12
@ -13529,6 +13529,40 @@ cmdline_parse_inst_t cmd_ptype_mapping_update = {
|
||||
},
|
||||
};
|
||||
|
||||
/* Common result structure for file commands */
|
||||
struct cmd_cmdfile_result {
|
||||
cmdline_fixed_string_t load;
|
||||
cmdline_fixed_string_t filename;
|
||||
};
|
||||
|
||||
/* Common CLI fields for file commands */
|
||||
cmdline_parse_token_string_t cmd_load_cmdfile =
|
||||
TOKEN_STRING_INITIALIZER(struct cmd_cmdfile_result, load, "load");
|
||||
cmdline_parse_token_string_t cmd_load_cmdfile_filename =
|
||||
TOKEN_STRING_INITIALIZER(struct cmd_cmdfile_result, filename, NULL);
|
||||
|
||||
static void
|
||||
cmd_load_from_file_parsed(
|
||||
void *parsed_result,
|
||||
__attribute__((unused)) struct cmdline *cl,
|
||||
__attribute__((unused)) void *data)
|
||||
{
|
||||
struct cmd_cmdfile_result *res = parsed_result;
|
||||
|
||||
cmdline_read_from_file(res->filename);
|
||||
}
|
||||
|
||||
cmdline_parse_inst_t cmd_load_from_file = {
|
||||
.f = cmd_load_from_file_parsed,
|
||||
.data = NULL,
|
||||
.help_str = "load <filename>",
|
||||
.tokens = {
|
||||
(void *)&cmd_load_cmdfile,
|
||||
(void *)&cmd_load_cmdfile_filename,
|
||||
NULL,
|
||||
},
|
||||
};
|
||||
|
||||
/* ******************************************************************************** */
|
||||
|
||||
/* list of instructions */
|
||||
@ -13536,6 +13570,7 @@ cmdline_parse_ctx_t main_ctx[] = {
|
||||
(cmdline_parse_inst_t *)&cmd_help_brief,
|
||||
(cmdline_parse_inst_t *)&cmd_help_long,
|
||||
(cmdline_parse_inst_t *)&cmd_quit,
|
||||
(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_showportall,
|
||||
|
@ -119,6 +119,22 @@ practical or possible testpmd supports alternative methods for executing command
|
||||
testpmd>
|
||||
|
||||
|
||||
* At run-time additional commands can be loaded in bulk by invoking the ``load FILENAME``
|
||||
command.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
testpmd> load /home/ubuntu/flow-create-commands.txt
|
||||
Flow rule #0 created
|
||||
Flow rule #1 created
|
||||
...
|
||||
...
|
||||
Flow rule #498 created
|
||||
Flow rule #499 created
|
||||
Read all CLI commands from /home/ubuntu/flow-create-commands.txt
|
||||
testpmd>
|
||||
|
||||
|
||||
In all cases output from any included command will be displayed as standard output.
|
||||
Execution will continue until the end of the file is reached regardless of
|
||||
whether any errors occur. The end user must examine the output to determine if
|
||||
|
Loading…
x
Reference in New Issue
Block a user