tipc: add link monitor get threshold
The command prints the monitor activation threshold. A sample usage is shown below: $ tipc link monitor get threshold 32 $ tipc link monitor get -h Usage: tipc monitor get PPROPERTY PROPERTIES threshold - Get monitor activation threshold Acked-by: Jon Maloy <jon.maloy@ericsson.com> Tested-by: Jon Maloy <jon.maloy@ericsson.com> Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
This commit is contained in:
parent
b33a69005e
commit
7da7ef9bd8
56
tipc/link.c
56
tipc/link.c
|
|
@ -534,12 +534,65 @@ static int cmd_link_mon_set(struct nlmsghdr *nlh, const struct cmd *cmd,
|
||||||
return run_cmd(nlh, cmd, cmds, cmdl, NULL);
|
return run_cmd(nlh, cmd, cmds, cmdl, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void cmd_link_mon_get_help(struct cmdl *cmdl)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "Usage: %s monitor get PPROPERTY \n\n"
|
||||||
|
"PROPERTIES\n"
|
||||||
|
" threshold - Get monitor activation threshold\n",
|
||||||
|
cmdl->argv[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int link_mon_get_cb(const struct nlmsghdr *nlh, void *data)
|
||||||
|
{
|
||||||
|
struct genlmsghdr *genl = mnl_nlmsg_get_payload(nlh);
|
||||||
|
struct nlattr *info[TIPC_NLA_MAX + 1] = {};
|
||||||
|
struct nlattr *attrs[TIPC_NLA_MON_MAX + 1] = {};
|
||||||
|
|
||||||
|
mnl_attr_parse(nlh, sizeof(*genl), parse_attrs, info);
|
||||||
|
if (!info[TIPC_NLA_MON])
|
||||||
|
return MNL_CB_ERROR;
|
||||||
|
|
||||||
|
mnl_attr_parse_nested(info[TIPC_NLA_MON], parse_attrs, attrs);
|
||||||
|
if (!attrs[TIPC_NLA_MON_ACTIVATION_THRESHOLD])
|
||||||
|
return MNL_CB_ERROR;
|
||||||
|
|
||||||
|
printf("%u\n",
|
||||||
|
mnl_attr_get_u32(attrs[TIPC_NLA_MON_ACTIVATION_THRESHOLD]));
|
||||||
|
|
||||||
|
return MNL_CB_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int cmd_link_mon_get_prop(struct nlmsghdr *nlh, const struct cmd *cmd,
|
||||||
|
struct cmdl *cmdl, void *data)
|
||||||
|
{
|
||||||
|
char buf[MNL_SOCKET_BUFFER_SIZE];
|
||||||
|
|
||||||
|
if (!(nlh = msg_init(buf, TIPC_NL_MON_GET))) {
|
||||||
|
fprintf(stderr, "error, message initialisation failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return msg_doit(nlh, link_mon_get_cb, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int cmd_link_mon_get(struct nlmsghdr *nlh, const struct cmd *cmd,
|
||||||
|
struct cmdl *cmdl, void *data)
|
||||||
|
{
|
||||||
|
const struct cmd cmds[] = {
|
||||||
|
{ "threshold", cmd_link_mon_get_prop, NULL},
|
||||||
|
{ NULL }
|
||||||
|
};
|
||||||
|
|
||||||
|
return run_cmd(nlh, cmd, cmds, cmdl, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
static void cmd_link_mon_help(struct cmdl *cmdl)
|
static void cmd_link_mon_help(struct cmdl *cmdl)
|
||||||
{
|
{
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"Usage: %s montior COMMAND [ARGS] ...\n\n"
|
"Usage: %s montior COMMAND [ARGS] ...\n\n"
|
||||||
"COMMANDS\n"
|
"COMMANDS\n"
|
||||||
" set - Set monitor properties\n",
|
" set - Set monitor properties\n"
|
||||||
|
" get - Get monitor properties\n",
|
||||||
cmdl->argv[0]);
|
cmdl->argv[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -548,6 +601,7 @@ static int cmd_link_mon(struct nlmsghdr *nlh, const struct cmd *cmd, struct cmdl
|
||||||
{
|
{
|
||||||
const struct cmd cmds[] = {
|
const struct cmd cmds[] = {
|
||||||
{ "set", cmd_link_mon_set, cmd_link_mon_set_help },
|
{ "set", cmd_link_mon_set, cmd_link_mon_set_help },
|
||||||
|
{ "get", cmd_link_mon_get, cmd_link_mon_get_help },
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue