summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2019-01-17 14:15:46 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2019-01-17 14:16:21 +0900
commita47a6daebe0af26c07d8d423225eb4add110793c (patch)
tree4cb197e7e743f5ef4bf0251a53c23adcaa2051dc
parentfb4986fa95f36f09e33b6e284d384fe369f51b49 (diff)
downloadsystemd-a47a6daebe0af26c07d8d423225eb4add110793c.tar.gz
network: update address when static address was already configured by DHCP
Fixes #11458.
-rw-r--r--src/network/networkd-link.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index 3661498f39..e767f5d60a 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -1095,7 +1095,11 @@ static int link_request_set_addresses(Link *link) {
return r;
LIST_FOREACH(addresses, ad, link->network->static_addresses) {
- r = address_configure(ad, link, address_handler, false);
+ bool update;
+
+ update = address_get(link, ad->family, &ad->in_addr, ad->prefixlen, NULL) > 0;
+
+ r = address_configure(ad, link, address_handler, update);
if (r < 0) {
log_link_warning_errno(link, r, "Could not set addresses: %m");
link_enter_failed(link);