X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-network.c;h=aad99236c4a4c93c51cb1992ddfa8ebfd87552d2;hb=59fccdc587bc179c1638916ee16a24099f94f81f;hp=803fcdd6099148ceb9601b8ad33a4e471bb83d4f;hpb=b5af2aca120f1bf13cffc270803c2232918dd967;p=elogind.git diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index 803fcdd60..aad99236c 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -63,15 +63,15 @@ static int network_load_one(Manager *manager, const char *filename) { LIST_HEAD_INIT(network->static_addresses); LIST_HEAD_INIT(network->static_routes); - network->stacked_netdevs = hashmap_new(string_hash_func, string_compare_func); + network->stacked_netdevs = hashmap_new(&string_hash_ops); if (!network->stacked_netdevs) return log_oom(); - network->addresses_by_section = hashmap_new(NULL, NULL); + network->addresses_by_section = hashmap_new(NULL); if (!network->addresses_by_section) return log_oom(); - network->routes_by_section = hashmap_new(NULL, NULL); + network->routes_by_section = hashmap_new(NULL); if (!network->routes_by_section) return log_oom(); @@ -85,6 +85,7 @@ static int network_load_one(Manager *manager, const char *filename) { network->dhcp_hostname = true; network->dhcp_routes = true; network->dhcp_sendhost = true; + network->dhcp_route_metric = DHCP_ROUTE_METRIC; network->llmnr = LLMNR_SUPPORT_YES; @@ -172,8 +173,10 @@ void network_free(Network *network) { netdev_unref(network->bond); - HASHMAP_FOREACH(netdev, network->stacked_netdevs, i) + HASHMAP_FOREACH(netdev, network->stacked_netdevs, i) { + hashmap_remove(network->stacked_netdevs, netdev->ifname); netdev_unref(netdev); + } hashmap_free(network->stacked_netdevs); while ((route = network->static_routes))