summaryrefslogtreecommitdiff
path: root/src/network
diff options
context:
space:
mode:
Diffstat (limited to 'src/network')
-rw-r--r--src/network/networkd-link.c13
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: