r = sd_dhcp_lease_get_routes(link->dhcp_lease, &static_routes, &static_routes_size);
if (r < 0) {
if (r != -ENOENT)
- log_warning_link(link, "DHCP error: %s", strerror(-r));
+ log_warning_link(link, "DHCP error: could not get routes: %s", strerror(-r));
return r;
}
r = sd_dhcp_lease_get_router(link->dhcp_lease, &gateway);
if (r < 0 && r != -ENOENT) {
- log_warning_link(link, "DHCP error: %s", strerror(-r));
+ log_warning_link(link, "DHCP error: could not get gateway: %s",
+ strerror(-r));
return r;
}
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));
r = sd_dhcp_lease_get_router(lease, &gateway);
if (r < 0 && r != -ENOENT) {
- log_warning_link(link, "DHCP error: %s", strerror(-r));
+ log_warning_link(link, "DHCP error: could not get gateway: %s",
+ strerror(-r));
return r;
}
break;
default:
if (event < 0)
- log_warning_link(link, "DHCP error: %s", strerror(-event));
+ log_warning_link(link, "DHCP error: client failed: %s", strerror(-event));
else
log_warning_link(link, "DHCP unknown event: %d", event);
break;