aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-08-04 10:23:17 -0700
committerStephen Hemminger <shemminger@osdl.org>2006-08-04 10:23:17 -0700
commitcd38c7590d3cd1d1d068b394558e6070cb926e12 (patch)
tree83ebf434b0ccfee2c6c30cf9232f068e82b755e9
parent39af7c8f2855c3d9cb44e3069cbfeddd8979acae (diff)
downloadandroid_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.c70
-rw-r--r--libbridge/libbridge.h3
-rw-r--r--libbridge/libbridge_if.c28
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);
-}