about summary refs log tree commit diff
path: root/src/dhcp/nm-dhcp-systemd.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2019-11-25 18:54:42 +0100
committerMichael Biebl <biebl@debian.org>2019-11-25 18:54:42 +0100
commit56e2e0e97cd4786bf3b1f7fd607d4a9e4fc6bc8d (patch)
tree43de6f27b10e23ff907dbe4e2c8fe0e52f01b13b /src/dhcp/nm-dhcp-systemd.c
parent85b54c33239239aa9ec8ff2f128f25a72dd587e1 (diff)
parente22609983008e1a669196ad64ba3a59ae8c76e0d (diff)
Update upstream source from tag 'upstream/1.20.8'
Update to upstream version '1.20.8'
with Debian dir 5fbac145116049621c01e7eb75da24ed4f79d25e
Diffstat (limited to 'src/dhcp/nm-dhcp-systemd.c')
-rw-r--r--src/dhcp/nm-dhcp-systemd.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/dhcp/nm-dhcp-systemd.c b/src/dhcp/nm-dhcp-systemd.c
index 073a6da0..96409345 100644
--- a/src/dhcp/nm-dhcp-systemd.c
+++ b/src/dhcp/nm-dhcp-systemd.c
@@ -119,6 +119,7 @@ lease_to_ip4_config (NMDedupMultiIndex *multi_idx,
 	gint64 ts_time = time (NULL);
 	struct in_addr a_address;
 	struct in_addr a_netmask;
+	struct in_addr a_next_server;
 	struct in_addr server_id;
 	struct in_addr broadcast;
 	const struct in_addr *a_router;
@@ -178,6 +179,14 @@ lease_to_ip4_config (NMDedupMultiIndex *multi_idx,
 	                               NM_DHCP_OPTION_DHCP4_NM_EXPIRY,
 	                               (guint64) (ts_time + a_lifetime));
 
+	if (sd_dhcp_lease_get_next_server (lease, &a_next_server) == 0) {
+		nm_utils_inet4_ntop (a_next_server.s_addr, addr_str);
+		nm_dhcp_option_add_option (options,
+		                           _nm_dhcp_option_dhcp4_options,
+		                           NM_DHCP_OPTION_DHCP4_NM_NEXT_SERVER,
+		                           addr_str);
+	}
+
 	nm_ip4_config_add_address (ip4_config,
 	                           &((const NMPlatformIP4Address) {
 	                               .address      = a_address.s_addr,