chiark / gitweb /
bus: always create --user bus when kdbus is active
[elogind.git] / src / network / networkd-manager.c
index 6998562dc06cd94b8af01fcecdefe50000084a0f..07552063ecd50ea210fb28db067270cfbbfc3d1b 100644 (file)
@@ -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;
 }