app/testpmd: add command to resume a TM node
Traffic manager provides an API for resuming an arbitrary node in a hierarchy. This commit adds support for calling this API from testpmd. Signed-off-by: Tomasz Duszynski <tdu@semihalf.com> Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
This commit is contained in:
parent
079dcbb8e6
commit
12f76f5247
@ -774,6 +774,9 @@ static void cmd_help_long_parsed(void *parsed_result,
|
||||
"suspend port tm node (port_id) (node_id)"
|
||||
" Suspend tm node.\n\n"
|
||||
|
||||
"resume port tm node (port_id) (node_id)"
|
||||
" Resume tm node.\n\n"
|
||||
|
||||
"port tm hierarchy commit (port_id) (clean_on_fail)\n"
|
||||
" Commit tm hierarchy.\n\n"
|
||||
|
||||
@ -16697,6 +16700,7 @@ cmdline_parse_ctx_t main_ctx[] = {
|
||||
(cmdline_parse_inst_t *)&cmd_del_port_tm_node,
|
||||
(cmdline_parse_inst_t *)&cmd_set_port_tm_node_parent,
|
||||
(cmdline_parse_inst_t *)&cmd_suspend_port_tm_node,
|
||||
(cmdline_parse_inst_t *)&cmd_resume_port_tm_node,
|
||||
(cmdline_parse_inst_t *)&cmd_port_tm_hierarchy_commit,
|
||||
(cmdline_parse_inst_t *)&cmd_cfg_tunnel_udp_port,
|
||||
NULL,
|
||||
|
@ -2030,6 +2030,70 @@ cmdline_parse_inst_t cmd_suspend_port_tm_node = {
|
||||
},
|
||||
};
|
||||
|
||||
/* *** Resume Port TM Node *** */
|
||||
struct cmd_resume_port_tm_node_result {
|
||||
cmdline_fixed_string_t resume;
|
||||
cmdline_fixed_string_t port;
|
||||
cmdline_fixed_string_t tm;
|
||||
cmdline_fixed_string_t node;
|
||||
uint16_t port_id;
|
||||
uint32_t node_id;
|
||||
};
|
||||
|
||||
cmdline_parse_token_string_t cmd_resume_port_tm_node_resume =
|
||||
TOKEN_STRING_INITIALIZER(
|
||||
struct cmd_resume_port_tm_node_result, resume, "resume");
|
||||
cmdline_parse_token_string_t cmd_resume_port_tm_node_port =
|
||||
TOKEN_STRING_INITIALIZER(
|
||||
struct cmd_resume_port_tm_node_result, port, "port");
|
||||
cmdline_parse_token_string_t cmd_resume_port_tm_node_tm =
|
||||
TOKEN_STRING_INITIALIZER(
|
||||
struct cmd_resume_port_tm_node_result, tm, "tm");
|
||||
cmdline_parse_token_string_t cmd_resume_port_tm_node_node =
|
||||
TOKEN_STRING_INITIALIZER(
|
||||
struct cmd_resume_port_tm_node_result, node, "node");
|
||||
cmdline_parse_token_num_t cmd_resume_port_tm_node_port_id =
|
||||
TOKEN_NUM_INITIALIZER(
|
||||
struct cmd_resume_port_tm_node_result, port_id, UINT16);
|
||||
cmdline_parse_token_num_t cmd_resume_port_tm_node_node_id =
|
||||
TOKEN_NUM_INITIALIZER(
|
||||
struct cmd_resume_port_tm_node_result, node_id, UINT32);
|
||||
|
||||
static void cmd_resume_port_tm_node_parsed(void *parsed_result,
|
||||
__attribute__((unused)) struct cmdline *cl,
|
||||
__attribute__((unused)) void *data)
|
||||
{
|
||||
struct cmd_resume_port_tm_node_result *res = parsed_result;
|
||||
struct rte_tm_error error;
|
||||
uint32_t node_id = res->node_id;
|
||||
portid_t port_id = res->port_id;
|
||||
int ret;
|
||||
|
||||
if (port_id_is_invalid(port_id, ENABLED_WARN))
|
||||
return;
|
||||
|
||||
ret = rte_tm_node_resume(port_id, node_id, &error);
|
||||
if (ret != 0) {
|
||||
print_err_msg(&error);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
cmdline_parse_inst_t cmd_resume_port_tm_node = {
|
||||
.f = cmd_resume_port_tm_node_parsed,
|
||||
.data = NULL,
|
||||
.help_str = "Resume port tm node",
|
||||
.tokens = {
|
||||
(void *)&cmd_resume_port_tm_node_resume,
|
||||
(void *)&cmd_resume_port_tm_node_port,
|
||||
(void *)&cmd_resume_port_tm_node_tm,
|
||||
(void *)&cmd_resume_port_tm_node_node,
|
||||
(void *)&cmd_resume_port_tm_node_port_id,
|
||||
(void *)&cmd_resume_port_tm_node_node_id,
|
||||
NULL,
|
||||
},
|
||||
};
|
||||
|
||||
/* *** Port TM Hierarchy Commit *** */
|
||||
struct cmd_port_tm_hierarchy_commit_result {
|
||||
cmdline_fixed_string_t port;
|
||||
|
@ -23,6 +23,7 @@ extern cmdline_parse_inst_t cmd_add_port_tm_leaf_node;
|
||||
extern cmdline_parse_inst_t cmd_del_port_tm_node;
|
||||
extern cmdline_parse_inst_t cmd_set_port_tm_node_parent;
|
||||
extern cmdline_parse_inst_t cmd_suspend_port_tm_node;
|
||||
extern cmdline_parse_inst_t cmd_resume_port_tm_node;
|
||||
extern cmdline_parse_inst_t cmd_port_tm_hierarchy_commit;
|
||||
|
||||
#endif /* _CMDLINE_TM_H_ */
|
||||
|
@ -2512,6 +2512,11 @@ Suspend port traffic management hierarchy node
|
||||
|
||||
testpmd> suspend port tm node (port_id) (node_id)
|
||||
|
||||
Resume port traffic management hierarchy node
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
testpmd> resume port tm node (port_id) (node_id)
|
||||
|
||||
Commit port traffic management hierarchy
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user