X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-manager.c;h=ddbdabbff903ece3bbecde8fb76b87dbc09c243c;hp=c730e7148df35a5c4d06ca7861b73b35df3b92ef;hb=2292547af9638e2b3f7e0e96a56dd6c909e516dc;hpb=06f021a8048583d66202e3ac5cd0a12386d33ac2 diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index c730e7148..ddbdabbff 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}; @@ -145,13 +145,13 @@ void manager_free(Manager *m) { sd_event_source_unref(m->sigint_event_source); sd_event_unref(m->event); - while ((network = m->networks)) - network_free(network); - while ((link = hashmap_first(m->links))) link_free(link); hashmap_free(m->links); + while ((network = m->networks)) + network_free(network); + while ((netdev = hashmap_first(m->netdevs))) netdev_free(netdev); hashmap_free(m->netdevs); @@ -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);