networkd: make DHCP lease timeouts configurable
This commit is contained in:
@@ -673,6 +673,22 @@ static int link_enter_set_addresses(Link *link) {
|
||||
return r;
|
||||
*/
|
||||
|
||||
if (link->network->dhcp_server_max_lease_time_usec > 0) {
|
||||
r = sd_dhcp_server_set_max_lease_time(
|
||||
link->dhcp_server,
|
||||
DIV_ROUND_UP(link->network->dhcp_server_max_lease_time_usec, USEC_PER_SEC));
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
if (link->network->dhcp_server_default_lease_time_usec > 0) {
|
||||
r = sd_dhcp_server_set_default_lease_time(
|
||||
link->dhcp_server,
|
||||
DIV_ROUND_UP(link->network->dhcp_server_default_lease_time_usec, USEC_PER_SEC));
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
if (link->network->dhcp_server_emit_timezone) {
|
||||
_cleanup_free_ char *buffer = NULL;
|
||||
const char *tz;
|
||||
|
||||
@@ -74,6 +74,8 @@ DHCP.CriticalConnection, config_parse_bool, 0
|
||||
DHCP.VendorClassIdentifier, config_parse_string, 0, offsetof(Network, dhcp_vendor_class_identifier)
|
||||
DHCP.RouteMetric, config_parse_unsigned, 0, offsetof(Network, dhcp_route_metric)
|
||||
DHCP.UseTimezone, config_parse_bool, 0, offsetof(Network, dhcp_timezone)
|
||||
DHCPServer.MaxLeaseTimeSec, config_parse_sec, 0, offsetof(Network, dhcp_server_max_lease_time_usec)
|
||||
DHCPServer.DefaultLeaseTimeSec,config_parse_sec, 0, offsetof(Network, dhcp_server_default_lease_time_usec)
|
||||
DHCPServer.EmitTimezone, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_timezone)
|
||||
DHCPServer.Timezone, config_parse_timezone, 0, offsetof(Network, dhcp_server_timezone)
|
||||
Bridge.Cost, config_parse_unsigned, 0, offsetof(Network, cost)
|
||||
|
||||
@@ -152,6 +152,7 @@ struct Network {
|
||||
bool dhcp_server;
|
||||
char *dhcp_server_timezone;
|
||||
bool dhcp_server_emit_timezone;
|
||||
usec_t dhcp_server_default_lease_time_usec, dhcp_server_max_lease_time_usec;
|
||||
|
||||
bool use_bpdu;
|
||||
bool hairpin;
|
||||
|
||||
Reference in New Issue
Block a user