diff options
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/networkd-link.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 14c0417d83..961c1ab8ad 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -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: |