diff options
author | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2007-09-28 13:32:50 +0000 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2007-09-28 13:32:50 +0000 |
commit | da7741d54263d6de3475b8c10db3c1dd3ebaebaf (patch) | |
tree | 20eed92b955623017d616241d9ca6a8de7e0fb36 /network/bridge.c | |
parent | 123ef726b4bb5c465cd8a5e7b7c003e55443b219 (diff) |
Improve bridge and network interfaces manipulation.
Diffstat (limited to 'network/bridge.c')
-rw-r--r-- | network/bridge.c | 10 |
1 files changed, 8 insertions, 2 deletions
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; } |