Exemplo n.º 1
0
void br_cmd_delif(struct bridge *br, char *ifname, char *arg1)
{
	int err;
	int ifindex;

	ifindex = if_nametoindex(ifname);
	if (!ifindex) {
		fprintf(stderr, "interface %s does not exist!\n", ifname);
		return;
	}

	if ((err = br_del_interface(br, ifindex)) == 0)
		return;

	switch (err) {
	case EINVAL:
		fprintf(stderr, "device %s is not a slave of %s\n",
			ifname, br->ifname);
		break;

	default:
		perror("br_del_interface");
		break;
	}
}
Exemplo n.º 2
0
int brctl_main(int argc, char **argv)
{
    if (argc == 1) {
        fprintf(stderr, "try to be professional!\n");
        return -1;
    }
    br_init();
    if (!strcmp(argv[1], "addif")) {
        if (ifexists(argv[3]))
            br_add_interface(argv[2], argv[3]);
    }
    if (!strcmp(argv[1], "delif")) {
        if (ifexists(argv[3]))
            br_del_interface(argv[2], argv[3]);
    }
    if (!strcmp(argv[1], "addbr")) {
        br_add_bridge(argv[2]);
    }
    if (!strcmp(argv[1], "stp")) {
        br_set_stp_state(argv[2], atoi(argv[3]));
    }
    if (!strcmp(argv[1], "delbr")) {
        if (!ifexists(argv[2]))
            return -1;
        br_del_bridge(argv[2]);
    }
    if (!strcmp(argv[1], "show")) {
        br_cmd_show();
    }
    br_shutdown();
}
Exemplo n.º 3
0
static int br_cmd_delif(int argc, char *const* argv)
{
	const char *brname;
	int err;

	argc -= 2;
	brname = *++argv;

	while (argc-- > 0) {
		const char *ifname = *++argv;
		err = br_del_interface(brname, ifname);
		switch (err) {
		case 0:
			continue;

		case ENODEV:
			fprintf(stderr, "interface %s does not exist!\n", 
				ifname);
			break;

		case EINVAL:
			fprintf(stderr, "device %s is not a slave of %s\n",
				ifname, brname);
			break;

		default:
			fprintf(stderr, "can't delete %s from %s: %s\n",
				ifname, brname, strerror(err));
		}
		return 1;
	}
	return 0;
}
Exemplo n.º 4
0
void deconfigure_wimax(void)
{
	char *dev = "ofdm";

	if (ifexists(dev)) {
		br_del_interface("br0", dev);
		eval("ifconfig", dev, "down");
	}
	eval("/sub/common/ssmodunload");
}
static int br_cmd_delif(char** argv)
{
	int err;

	switch (err = br_del_interface(argv[1], argv[2])) {
	case 0:
		return 0;
	case ENODEV:
		fprintf(stderr, "interface %s does not exist!\n", argv[2]);
		return 1;

	case EINVAL:
		fprintf(stderr, "device %s is not a slave of %s\n",
			argv[2], argv[1]);
		return 1;

	default:
		fprintf(stderr, "can't delete %s from %s: %s\n",
			argv[2], argv[1], strerror(err));
		return 1;
	}
}