Add AdvLinkMTU to Router Advertisements page (#4064)

This commit is contained in:
İlteriş Eroğlu 2020-04-27 12:36:55 +03:00 committed by GitHub
parent 0d07fae36a
commit e85557938c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

View File

@ -260,6 +260,15 @@ function dhcpd_radvd_configure($verbose = false, $blacklist = array())
}
}
if (!empty($dhcpv6ifconf['AdvLinkMTU'])) {
$overridemtu = $dhcpv6ifconf['AdvLinkMTU'];
if ($overridemtu < $mtu) {
$mtu = $overridemtu;
} else {
log_error("Warning! AdvLinkMTU set in config is not lower than the interface MTU, therefore can't be applied.");
}
}
$radvdconf .= "# Generated for DHCPv6 server $dhcpv6if\n";
$radvdconf .= "interface {$realif} {\n";
$radvdconf .= "\tAdvSendAdvert on;\n";

View File

@ -37,7 +37,7 @@ function val_int_in_range($value, $min, $max) {
return (((string)(int)$value) == $value) && $value >= $min && $value <= $max;
}
$advanced_options = array('AdvDefaultLifetime', 'AdvValidLifetime', 'AdvPreferredLifetime', 'AdvRDNSSLifetime', 'AdvDNSSLLifetime', 'AdvRouteLifetime');
$advanced_options = array('AdvDefaultLifetime', 'AdvValidLifetime', 'AdvPreferredLifetime', 'AdvRDNSSLifetime', 'AdvDNSSLLifetime', 'AdvRouteLifetime', 'AdvLinkMTU');
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
if (!empty($_GET['if']) && !empty($config['interfaces'][$_GET['if']])) {
$if = $_GET['if'];
@ -136,6 +136,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
if (!empty($pconfig['AdvRouteLifetime']) && !val_int_in_range($pconfig['AdvRouteLifetime'], 1, 4294967295)) {
$input_errors[] = sprintf(gettext('AdvRouteLifetime must be between %s and %s seconds.'), 1, 4294967295);
}
if (!empty($pconfig['AdvLinkMTU']) && !val_int_in_range($pconfig['AdvLinkMTU'], 1280, 8192)) {
$input_errors[] = sprintf(gettext('AdvLinkMTU must be between %s and %s bytes.'), 1280, 8192);
}
}