]> git.ozlabs.org Git - petitboot/commitdiff
discover: Bring down configured interfaces on discover server exit.
authorJeremy Kerr <jk@ozlabs.org>
Thu, 16 Jan 2014 01:13:20 +0000 (09:13 +0800)
committerJeremy Kerr <jk@ozlabs.org>
Fri, 17 Jan 2014 08:13:25 +0000 (16:13 +0800)
We want to down the interfaces that we brought up, so hook up the
network_shutdown function to the discover exit path. Also, we only want
to down interfaces that we've configured, and exclude lo.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
discover/network.c
discover/pb-discover.c

index 7ddecc03b658a59e88e00bfcf9156114ca7f13c6..8cc01833d5875990358ea0bc897eea0bf5ab6fe0 100644 (file)
@@ -582,8 +582,13 @@ int network_shutdown(struct network *network)
        if (network->waiter)
                waiter_remove(network->waiter);
 
-       list_for_each_entry(&network->interfaces, interface, list)
+       list_for_each_entry(&network->interfaces, interface, list) {
+               if (interface->state == IFSTATE_IGNORED)
+                       continue;
+               if (!strcmp(interface->name, "lo"))
+                       continue;
                interface_down(interface);
+       }
 
        close(network->netlink_sd);
        talloc_free(network);
index b15413090e49fefc34b84ef0f7f0385328994ad5..d8708a3d40194d9d2017d41058a4ed57f8971b6e 100644 (file)
@@ -200,6 +200,7 @@ int main(int argc, char *argv[])
                        break;
        }
 
+       network_shutdown(network);
        device_handler_destroy(handler);
        user_event_destroy(uev);
        udev_destroy(udev);