Commit 3a133e28 authored by Lubomir Rintel's avatar Lubomir Rintel

dhcp/nettools: add siaddr to lease options

This is so that we end up with a next-server option analogous to what
dhclient helper sends us. Dracut uses this for networked boots.

(cherry picked from commit c1104a5c)
parent 435dcc3d
......@@ -371,6 +371,7 @@ lease_parse_address (NDhcp4ClientLease *lease,
const gint64 ts_clock_boottime = nm_utils_monotonic_timestamp_as_boottime (ts, 1);
struct in_addr a_address;
struct in_addr a_netmask;
struct in_addr a_next_server;
guint32 a_plen;
guint64 nettools_lifetime;
gint64 a_lifetime;
......@@ -440,6 +441,16 @@ lease_parse_address (NDhcp4ClientLease *lease,
NM_DHCP_OPTION_DHCP4_NM_EXPIRY,
(guint64) a_expiry);
n_dhcp4_client_lease_get_siaddr (lease, &a_next_server);
if (a_next_server.s_addr != INADDR_ANY) {
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,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment