summaryrefslogtreecommitdiff
path: root/src/network
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2015-10-27 00:06:10 +0100
committerTom Gundersen <teg@jklm.no>2015-10-30 12:32:48 +0100
commita3a019e125ff2ab38505579eaddce08874e270aa (patch)
tree06de2e55cb6eda282d1fe2c89dcfd2098c10f339 /src/network
parent86655331bc28887def7998d321b14ef8fccbeaf9 (diff)
networkd: address - update link operstate when address is updated
The operstate may change based on address properties, so make a change of address trigger an operstate update.
Diffstat (limited to 'src/network')
-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;
}