summaryrefslogtreecommitdiff
path: root/src/network/networkd-link.c
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2014-06-29 16:59:33 +0200
committerTom Gundersen <teg@jklm.no>2014-06-29 17:01:23 +0200
commit46ba9fbae2517e6fee2a2b486ef9f06a62284b8c (patch)
treef51ec4e2b97b74402aa26071faf927b5b391c108 /src/network/networkd-link.c
parentfb41e6d7c68c83558f8482f7fc72794a67b0638f (diff)
networkd: dhcp - update the lifetime of an existing address
The logic otherwise is that we leave anything preconfigured alone, but in the case of DHCP we actually need to update it whenever the lease is renewed.
Diffstat (limited to 'src/network/networkd-link.c')
-rw-r--r--src/network/networkd-link.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index dff445bc59..b597b16684 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -760,7 +760,9 @@ static int link_enter_set_addresses(Link *link) {
address->prefixlen = prefixlen;
address->broadcast.s_addr = addr.s_addr | ~netmask.s_addr;
- r = address_configure(address, link, &address_handler);
+ /* use update rather than configure so that we will update the lifetime
+ of an existing address if it has already been configured */
+ r = address_update(address, link, &address_handler);
if (r < 0) {
log_warning_link(link,
"could not set addresses: %s", strerror(-r));