summaryrefslogtreecommitdiffstats
path: root/discover/network.c
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2014-01-16 09:13:20 +0800
committerJeremy Kerr <jk@ozlabs.org>2014-01-17 16:13:25 +0800
commit729bcafedd3b117c031c413fac2e2d2096d62510 (patch)
tree9bb0efa148d82b628ce4914714d15cd6600757fb /discover/network.c
parentaf805399e80ae70a9fc7af9b47d76577be44a683 (diff)
downloadtalos-petitboot-729bcafedd3b117c031c413fac2e2d2096d62510.tar.gz
talos-petitboot-729bcafedd3b117c031c413fac2e2d2096d62510.zip
discover: Bring down configured interfaces on discover server exit.
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>
Diffstat (limited to 'discover/network.c')
-rw-r--r--discover/network.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/discover/network.c b/discover/network.c
index 7ddecc0..8cc0183 100644
--- a/discover/network.c
+++ b/discover/network.c
@@ -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);
OpenPOWER on IntegriCloud