diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2006-08-04 10:23:17 -0700 |
---|---|---|
committer | Stephen Hemminger <shemminger@osdl.org> | 2006-08-04 10:23:17 -0700 |
commit | cd38c7590d3cd1d1d068b394558e6070cb926e12 (patch) | |
tree | 83ebf434b0ccfee2c6c30cf9232f068e82b755e9 | |
parent | 39af7c8f2855c3d9cb44e3069cbfeddd8979acae (diff) | |
download | android_external_brctl-cd38c7590d3cd1d1d068b394558e6070cb926e12.tar.gz android_external_brctl-cd38c7590d3cd1d1d068b394558e6070cb926e12.tar.bz2 android_external_brctl-cd38c7590d3cd1d1d068b394558e6070cb926e12.zip |
Revert "Add support for bridge port forwarding."
This reverts 39af7c8f2855c3d9cb44e3069cbfeddd8979acae commit.
Better to add this functionality via ebtables rather than
into bridging code.
-rw-r--r-- | brctl/brctl_cmd.c | 70 | ||||
-rw-r--r-- | libbridge/libbridge.h | 3 | ||||
-rw-r--r-- | libbridge/libbridge_if.c | 28 |
3 files changed, 0 insertions, 101 deletions
diff --git a/brctl/brctl_cmd.c b/brctl/brctl_cmd.c index c1f88c8..a05d5b1 100644 --- a/brctl/brctl_cmd.c +++ b/brctl/brctl_cmd.c @@ -157,71 +157,6 @@ static int br_cmd_delif(int argc, char *const* argv) return 0; } - -static int br_cmd_addmirror(int argc, char *const* argv) -{ - int err; - const char *brname = argv[1]; - const char *ifname = argv[2]; - - err = br_set_mirror(brname, ifname); - switch(err) { - case 0: - return 0; - - case ENODEV: - if (if_nametoindex(ifname) == 0) - fprintf(stderr, "interface %s does not exist!\n", ifname); - else - fprintf(stderr, "bridge %s does not exist\n", brname); - break; - - case EBUSY: - fprintf(stderr, "device %s is already a member of a bridge or is a mirror\n", - ifname); - break; - - case ELOOP: - fprintf(stderr, "device %s is a bridge device itself\n", brname); - break; - - default: - fprintf(stderr, "can't set %s to mirror bridge %s: %s\n", - ifname, brname, strerror(err)); - } - return 1; - -} - -static int br_cmd_delmirror(int argc, char *const* argv) -{ - int err; - const char *brname = argv[1]; - const char *ifname = argv[2]; - - - err = br_remove_mirror(brname, ifname); - - switch (err) { - case 0: - return 0; - - case ENODEV: - fprintf(stderr, "interface %s does not exist!\n", ifname); - break; - - case EINVAL: - fprintf(stderr, "device %s is not the mirror of %s\n", - ifname, brname); - break; - - default: - fprintf(stderr, "can't delete %s from %s: %s\n", - ifname, brname, strerror(err)); - } - return 1; -} - static int br_cmd_setageing(int argc, char *const* argv) { int err; @@ -486,11 +421,6 @@ static const struct command commands[] = { "<bridge>\t\tshow bridge stp info"}, { 2, "stp", br_cmd_stp, "<bridge> {on|off}\tturn stp on/off" }, - { 2, "addmirror", br_cmd_addmirror, - "<bridge> <device>\tset mirror to bridge" }, - { 2, "delmirror", br_cmd_delmirror, - "<bridge> <device>\tdelete mirror from bridge" }, - }; const struct command *command_lookup(const char *cmd) diff --git a/libbridge/libbridge.h b/libbridge/libbridge.h index 8ee94cf..20d5bb5 100644 --- a/libbridge/libbridge.h +++ b/libbridge/libbridge.h @@ -95,9 +95,6 @@ extern int br_add_bridge(const char *brname); extern int br_del_bridge(const char *brname); extern int br_add_interface(const char *br, const char *dev); extern int br_del_interface(const char *br, const char *dev); -extern int br_set_mirror(const char *bridge, const char *dev); -extern int br_remove_mirror(const char *bridge, const char *dev); - extern int br_set_bridge_forward_delay(const char *br, struct timeval *tv); extern int br_set_bridge_hello_time(const char *br, struct timeval *tv); extern int br_set_bridge_max_age(const char *br, struct timeval *tv); diff --git a/libbridge/libbridge_if.c b/libbridge/libbridge_if.c index b184c46..77d3f8a 100644 --- a/libbridge/libbridge_if.c +++ b/libbridge/libbridge_if.c @@ -115,31 +115,3 @@ int br_del_interface(const char *bridge, const char *dev) return err < 0 ? errno : 0; } - -int br_set_mirror(const char *bridge, const char *dev) -{ - struct ifreq ifr; - int ifindex = if_nametoindex(dev); - - if (ifindex == 0) - return ENODEV; - - strncpy(ifr.ifr_name, bridge, IFNAMSIZ); - ifr.ifr_ifindex = ifindex; - - return ioctl(br_socket_fd, SIOCBRADDMIRROR, &ifr); -} - -int br_remove_mirror(const char *bridge, const char *dev) -{ - struct ifreq ifr; - int ifindex = if_nametoindex(dev); - - if (ifindex == 0) - return ENODEV; - - strncpy(ifr.ifr_name, bridge, IFNAMSIZ); - ifr.ifr_ifindex = ifindex; - - return ioctl(br_socket_fd, SIOCBRDELMIRROR, &ifr); -} |