X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-manager.c;h=b2cb0fab4d00cabe13b18e0e76b316baf933006b;hb=ba5596ec2ed65943b66d42fbe6e9ef7ebc79216c;hp=8c2f5efbd34120416e091c4b09327b715954130f;hpb=0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cf;p=elogind.git diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index 8c2f5efbd..b2cb0fab4 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -33,7 +33,7 @@ const char* const network_dirs[] = { "/etc/systemd/network", "/run/systemd/network", "/usr/lib/systemd/network", -#ifdef HAVE_SPLIT_USER +#ifdef HAVE_SPLIT_USR "/lib/systemd/network", #endif NULL}; @@ -312,23 +312,19 @@ static int manager_rtnl_process_link(sd_rtnl *rtnl, sd_rtnl_message *message, vo r = sd_rtnl_message_link_get_ifindex(message, &ifindex); if (r < 0 || ifindex <= 0) { - log_debug("received RTM_NEWLINK message without valid ifindex"); + log_warning("received RTM_NEWLINK message without valid ifindex"); return 0; } r = sd_rtnl_message_read_string(message, IFLA_IFNAME, &name); if (r < 0) - log_debug("received RTM_NEWLINK message without valid IFLA_IFNAME"); + log_warning("received RTM_NEWLINK message without valid ifname"); else { NetDev *netdev; r = netdev_get(m, name, &netdev); - if (r >= 0) { - r = netdev_set_ifindex(netdev, ifindex); - if (r < 0) - log_debug("could not set ifindex of netdev '%s' to %d: %s", - name, ifindex, strerror(-r)); - } + if (r >= 0) + netdev_set_ifindex(netdev, message); } r = link_get(m, ifindex, &link); @@ -442,10 +438,17 @@ int manager_update_resolv_conf(Manager *m) { } } - HASHMAP_FOREACH(link, m->links, i) - if (link->network && link->network->dns) - append_dns(f, &link->network->dns->in_addr.in, - link->network->dns->family, &count); + HASHMAP_FOREACH(link, m->links, i) { + if (link->network && link->network->dns) { + Address *address; + Iterator j; + + SET_FOREACH(address, link->network->dns, j) { + append_dns(f, &address->in_addr.in, + address->family, &count); + } + } + } fflush(f);