From da7741d54263d6de3475b8c10db3c1dd3ebaebaf Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Fri, 28 Sep 2007 13:32:50 +0000 Subject: Improve bridge and network interfaces manipulation. --- network/bridge.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'network/bridge.c') diff --git a/network/bridge.c b/network/bridge.c index e481ca80..ad4fc72e 100644 --- a/network/bridge.c +++ b/network/bridge.c @@ -101,6 +101,7 @@ int bridge_remove(int id) int bridge_add_interface(int id, const char *dev) { struct ifreq ifr; + int err; int ifindex = if_nametoindex(dev); const char *name = bridge_get_name(id); @@ -113,8 +114,13 @@ int bridge_add_interface(int id, const char *dev) strncpy(ifr.ifr_name, name, IFNAMSIZ); ifr.ifr_ifindex = ifindex; - if (ioctl(bridge_socket, SIOCBRADDIF, &ifr) < 0) - return -errno; + err = ioctl(bridge_socket, SIOCBRADDIF, &ifr); + if (err < 0) + return err; + + err = bnep_if_up(name, id); + if (err < 0) + return err; return 0; } -- cgit