diff options
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; } |