summaryrefslogtreecommitdiff
path: root/src/network/networkd-dhcp4.c
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2015-11-18 14:21:06 +0100
committerTom Gundersen <teg@jklm.no>2015-11-18 14:26:36 +0100
commit6a3e5f6a2813e3bd48692a32ac7eb27fd9cd73ee (patch)
tree765f39bf8925626d9ce0d41db368b903671545cb /src/network/networkd-dhcp4.c
parent23f186494cf041107896fc4bd7fc5b8f921fd79f (diff)
networkd: dhcp4 - dirty link when the lease changes
Without this commit, we risk not picking up DNS addresses as soon as they are available.
Diffstat (limited to 'src/network/networkd-dhcp4.c')
-rw-r--r--src/network/networkd-dhcp4.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
index b9c60a3c77..48e3d84055 100644
--- a/src/network/networkd-dhcp4.c
+++ b/src/network/networkd-dhcp4.c
@@ -255,6 +255,7 @@ static int dhcp_lease_lost(Link *link) {
}
link->dhcp_lease = sd_dhcp_lease_unref(link->dhcp_lease);
+ link_dirty(link);
link->dhcp4_configured = false;
return 0;
@@ -331,6 +332,7 @@ static int dhcp_lease_renew(sd_dhcp_client *client, Link *link) {
sd_dhcp_lease_unref(link->dhcp_lease);
link->dhcp4_configured = false;
link->dhcp_lease = sd_dhcp_lease_ref(lease);
+ link_dirty(link);
r = sd_dhcp_lease_get_address(lease, &address);
if (r < 0)
@@ -408,6 +410,7 @@ static int dhcp_lease_acquired(sd_dhcp_client *client, Link *link) {
NULL);
link->dhcp_lease = sd_dhcp_lease_ref(lease);
+ link_dirty(link);
if (link->network->dhcp_mtu) {
uint16_t mtu;