chiark / gitweb /
networkd: link - improve link tracking logging
authorTom Gundersen <teg@jklm.no>
Thu, 3 Jul 2014 19:35:03 +0000 (21:35 +0200)
committerTom Gundersen <teg@jklm.no>
Thu, 3 Jul 2014 20:55:05 +0000 (22:55 +0200)
src/network/networkd-link.c

index 14c0417d83a1a1e3bf3bc6c58a04af173e1b3ccf..961c1ab8ad13f3a1845f78b5ae3b7c80a4ceeddc 100644 (file)
@@ -2140,7 +2140,7 @@ int link_rtnl_process_address(sd_rtnl *rtnl, sd_rtnl_message *message, void *use
 
         r = address_new_dynamic(&address);
         if (r < 0)
-                return 0;
+                return r;
 
         r = sd_rtnl_message_addr_get_family(message, &address->family);
         if (r < 0 || !IN_SET(address->family, AF_INET, AF_INET6)) {
@@ -2204,7 +2204,10 @@ int link_rtnl_process_address(sd_rtnl *rtnl, sd_rtnl_message *message, void *use
         case RTM_NEWADDR:
                 if (!address_dropped)
                         log_debug_link(link, "added address: %s/%u", buf,
-                                      address->prefixlen);
+                                       address->prefixlen);
+                else
+                        log_debug_link(link, "updated address: %s/%u", buf,
+                                       address->prefixlen);
 
                 LIST_PREPEND(addresses, link->addresses, address);
                 address = NULL;
@@ -2215,10 +2218,12 @@ int link_rtnl_process_address(sd_rtnl *rtnl, sd_rtnl_message *message, void *use
         case RTM_DELADDR:
                 if (address_dropped) {
                         log_debug_link(link, "removed address: %s/%u", buf,
-                                      address->prefixlen);
+                                       address->prefixlen);
 
                         link_save(link);
-                }
+                } else
+                        log_warning_link(link, "removing non-existent address: %s/%u",
+                                         buf, address->prefixlen);
 
                 break;
         default: