diff options
author | Tom Gundersen <teg@jklm.no> | 2014-06-29 16:59:33 +0200 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2014-06-29 17:01:23 +0200 |
commit | 46ba9fbae2517e6fee2a2b486ef9f06a62284b8c (patch) | |
tree | f51ec4e2b97b74402aa26071faf927b5b391c108 /src/network/networkd-link.c | |
parent | fb41e6d7c68c83558f8482f7fc72794a67b0638f (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.c | 4 |
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)); |