summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/network/networkd-address.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c
index e550ee5701..0338fe9393 100644
--- a/src/network/networkd-address.c
+++ b/src/network/networkd-address.c
@@ -318,8 +318,12 @@ int address_update(Address *address, unsigned char flags, unsigned char scope, s
address->scope = scope;
address->cinfo = *cinfo;
- if (!ready && address_is_ready(address) && address->link)
- link_check_ready(address->link);
+ if (address->link) {
+ link_update_operstate(address->link);
+
+ if (!ready && address_is_ready(address))
+ link_check_ready(address->link);
+ }
return 0;
}