From 778fb0ca85a18c20a60cbd44c8786d60efe4d297 Mon Sep 17 00:00:00 2001 From: Claudio Takahasi Date: Thu, 29 Mar 2007 21:49:17 +0000 Subject: network: Added bridge add interface function --- network/bridge.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'network/bridge.c') diff --git a/network/bridge.c b/network/bridge.c index 76c2a507..a6930194 100644 --- a/network/bridge.c +++ b/network/bridge.c @@ -74,3 +74,20 @@ int bridge_remove(const char *name) return 0; } + +int bridge_add_interface(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; + + if (ioctl(bridge_socket, SIOCBRADDIF, &ifr) < 0) + return -errno; + + return 0; +} -- cgit