X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-manager.c;h=07552063ecd50ea210fb28db067270cfbbfc3d1b;hb=88c59cb3c12b33449e0b8a57a79dd1d418334061;hp=6998562dc06cd94b8af01fcecdefe50000084a0f;hpb=bf5332d2bf2a1acbba9daacf40570a4addbd3411;p=elogind.git diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index 6998562dc..07552063e 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -134,7 +134,7 @@ static int manager_process_link(Manager *m, struct udev_device *device) { if (streq_ptr(udev_device_get_action(device), "remove")) { uint64_t ifindex; - log_debug("Link removed: %s", udev_device_get_sysname(device)); + log_debug("%s: link removed", udev_device_get_sysname(device)); ifindex = udev_device_get_ifindex(device); link = hashmap_get(m->links, &ifindex); @@ -143,7 +143,7 @@ static int manager_process_link(Manager *m, struct udev_device *device) { link_free(link); } else { - log_debug("New link: %s", udev_device_get_sysname(device)); + log_debug("%s: link added", udev_device_get_sysname(device)); r = link_add(m, device); if (r < 0) { @@ -171,6 +171,10 @@ int manager_udev_enumerate_links(Manager *m) { if (r < 0) return r; + r = udev_enumerate_add_match_is_initialized(e); + if (r < 0) + return r; + r = udev_enumerate_scan_devices(e); if (r < 0) return r; @@ -184,9 +188,6 @@ int manager_udev_enumerate_links(Manager *m) { if (!d) return -ENOMEM; - if (!udev_device_get_is_initialized(d)) - continue; - k = manager_process_link(m, d); if (k < 0) r = k; @@ -246,9 +247,12 @@ static int manager_rtnl_process_link(sd_rtnl *rtnl, sd_rtnl_message *message, vo if (!link) return 0; - r = link_update(link, message); - if (r < 0) - return 0; + /* only track the status of links we want to manage */ + if (link->network) { + r = link_update(link, message); + if (r < 0) + return 0; + } return 1; }