Esempio n. 1
0
static int cmd_link_stat_show(struct nlmsghdr *nlh, const struct cmd *cmd,
			      struct cmdl *cmdl, void *data)
{
	char *link = NULL;
	char buf[MNL_SOCKET_BUFFER_SIZE];
	struct opt *opt;
	struct opt opts[] = {
		{ "link",		OPT_KEYVAL,	NULL },
		{ NULL }
	};
	int err = 0;

	if (help_flag) {
		(cmd->help)(cmdl);
		return -EINVAL;
	}

	nlh = msg_init(buf, TIPC_NL_LINK_GET);
	if (!nlh) {
		fprintf(stderr, "error, message initialisation failed\n");
		return -1;
	}

	if (parse_opts(opts, cmdl) < 0)
		return -EINVAL;

	opt = get_opt(opts, "link");
	if (opt)
		link = opt->val;

	new_json_obj(json);
	err = msg_dumpit(nlh, link_stat_show_cb, link);
	delete_json_obj();
	return err;
}
Esempio n. 2
0
static int cmd_node_list(struct nlmsghdr *nlh, const struct cmd *cmd,
                         struct cmdl *cmdl, void *data)
{
    char buf[MNL_SOCKET_BUFFER_SIZE];

    if (help_flag) {
        fprintf(stderr, "Usage: %s node list\n", cmdl->argv[0]);
        return -EINVAL;
    }

    if (!(nlh = msg_init(buf, TIPC_NL_NODE_GET))) {
        fprintf(stderr, "error, message initialisation failed\n");
        return -1;
    }

    return msg_dumpit(nlh, node_list_cb, NULL);
}
Esempio n. 3
0
static int cmd_node_get_netid(struct nlmsghdr *nlh, const struct cmd *cmd,
                              struct cmdl *cmdl, void *data)
{
    char buf[MNL_SOCKET_BUFFER_SIZE];

    if (help_flag) {
        (cmd->help)(cmdl);
        return -EINVAL;
    }

    if (!(nlh = msg_init(buf, TIPC_NL_NET_GET))) {
        fprintf(stderr, "error, message initialisation failed\n");
        return -1;
    }

    return msg_dumpit(nlh, netid_get_cb, NULL);
}
Esempio n. 4
0
static int cmd_link_mon_list(struct nlmsghdr *nlh, const struct cmd *cmd,
			     struct cmdl *cmdl, void *data)
{
	char buf[MNL_SOCKET_BUFFER_SIZE];
	char bname[TIPC_MAX_BEARER_NAME] = {0};
	struct opt opts[] = {
		{ "media",	OPT_KEYVAL,	NULL },
		{ "device",	OPT_KEYVAL,	NULL },
		{ "name",	OPT_KEYVAL,	NULL },
		{ NULL }
	};
	struct tipc_sup_media sup_media[] = {
		{ "udp",        "name",         cmd_link_mon_list_udp_help},
		{ "eth",        "device",       cmd_link_mon_list_l2_help },
		{ "ib",         "device",       cmd_link_mon_list_l2_help },
		{ NULL, },
	};

	int err;

	if (parse_opts(opts, cmdl) < 0)
		return -EINVAL;

	if (get_opt(opts, "media")) {
		err = cmd_get_unique_bearer_name(cmd, cmdl, opts, bname,
						 sup_media);
		if (err)
			return err;
	}

	if (help_flag) {
		cmd->help(cmdl);
		return -EINVAL;
	}

	nlh = msg_init(buf, TIPC_NL_MON_GET);
	if (!nlh) {
		fprintf(stderr, "error, message initialisation failed\n");
		return -1;
	}

	new_json_obj(json);
	err = msg_dumpit(nlh, link_mon_list_cb, bname);
	delete_json_obj();
	return err;
}
Esempio n. 5
0
static int cmd_nametable_show(struct nlmsghdr *nlh, const struct cmd *cmd,
			      struct cmdl *cmdl, void *data)
{
	int iteration = 0;
	char buf[MNL_SOCKET_BUFFER_SIZE];

	if (help_flag) {
		fprintf(stderr, "Usage: %s nametable show\n", cmdl->argv[0]);
		return -EINVAL;
	}

	if (!(nlh = msg_init(buf, TIPC_NL_NAME_TABLE_GET))) {
		fprintf(stderr, "error, message initialisation failed\n");
		return -1;
	}

	return msg_dumpit(nlh, nametable_show_cb, &iteration);
}
Esempio n. 6
0
static int link_mon_peer_list(uint32_t mon_ref)
{
	struct nlmsghdr *nlh;
	char buf[MNL_SOCKET_BUFFER_SIZE];
	struct nlattr *nest;
	int err = 0;

	nlh = msg_init(buf, TIPC_NL_MON_PEER_GET);
	if (!nlh) {
		fprintf(stderr, "error, message initialisation failed\n");
		return -1;
	}

	nest = mnl_attr_nest_start(nlh, TIPC_NLA_MON);
	mnl_attr_put_u32(nlh, TIPC_NLA_MON_REF, mon_ref);
	mnl_attr_nest_end(nlh, nest);

	err = msg_dumpit(nlh, link_mon_peer_list_cb, NULL);
	return err;
}
Esempio n. 7
0
static int cmd_link_mon_summary(struct nlmsghdr *nlh, const struct cmd *cmd,
				struct cmdl *cmdl, void *data)
{
	char buf[MNL_SOCKET_BUFFER_SIZE];
	int err = 0;

	if (help_flag) {
		fprintf(stderr,	"Usage: %s monitor summary\n", cmdl->argv[0]);
		return -EINVAL;
	}

	nlh = msg_init(buf, TIPC_NL_MON_GET);
	if (!nlh) {
		fprintf(stderr, "error, message initialisation failed\n");
		return -1;
	}

	new_json_obj(json);
	err = msg_dumpit(nlh, link_mon_summary_cb, NULL);
	delete_json_obj();

	return err;
}