radvd: use default value "0" on unknown mtu

This commit is contained in:
Franco Fichtner 2020-05-13 09:36:15 +02:00
parent 2eb1ee5f53
commit 42e9d86d68

View File

@ -253,18 +253,18 @@ function dhcpd_radvd_configure($verbose = false, $blacklist = array())
$realtrackif = get_real_interface($config['interfaces'][$dhcpv6if]['track6-interface'], 'inet6');
$trackmtu = legacy_interface_stats($realtrackif)['mtu'];
if (!empty($trackmtu)) {
if (!empty($trackmtu) && !empty($mtu)) {
if ($trackmtu < $mtu) {
$mtu = $trackmtu;
}
}
}
if (!empty($dhcpv6ifconf['AdvLinkMTU'])) {
if (!empty($dhcpv6ifconf['AdvLinkMTU']) && !empty($mtu)) {
if ($dhcpv6ifconf['AdvLinkMTU'] < $mtu) {
$mtu = $dhcpv6ifconf['AdvLinkMTU'];
} else {
log_error("Warning! AdvLinkMTU set in config is not lower than the interface MTU, therefore can't be applied.");
log_error('Warning! Skipping AdvLinkMTU configuration since it cannot be applied.');
}
}
@ -276,7 +276,7 @@ function dhcpd_radvd_configure($verbose = false, $blacklist = array())
if (!empty($dhcpv6ifconf['AdvDefaultLifetime'])) {
$radvdconf .= sprintf("\tAdvDefaultLifetime %s;\n", $dhcpv6ifconf['AdvDefaultLifetime']);
}
$radvdconf .= sprintf("\tAdvLinkMTU %s;\n", !empty($mtu) ? $mtu : 1280);
$radvdconf .= sprintf("\tAdvLinkMTU %s;\n", !empty($mtu) ? $mtu : 0);
switch ($dhcpv6ifconf['rapriority']) {
case "low":
@ -454,7 +454,7 @@ function dhcpd_radvd_configure($verbose = false, $blacklist = array())
$mtu = legacy_interface_stats($realif)['mtu'];
$trackmtu = legacy_interface_stats($realtrackif)['mtu'];
if (!empty($trackmtu)) {
if (!empty($trackmtu) && !empty($mtu)) {
if ($trackmtu < $mtu) {
$mtu = $trackmtu;
}
@ -488,7 +488,7 @@ function dhcpd_radvd_configure($verbose = false, $blacklist = array())
$radvdconf .= "# Generated config for {$autotype} delegation from {$trackif} on {$if}\n";
$radvdconf .= "interface {$realif} {\n";
$radvdconf .= "\tAdvSendAdvert on;\n";
$radvdconf .= sprintf("\tAdvLinkMTU %s;\n", !empty($mtu) ? $mtu : 1280);
$radvdconf .= sprintf("\tAdvLinkMTU %s;\n", !empty($mtu) ? $mtu : 0);
$radvdconf .= "\tAdvManagedFlag on;\n";
$radvdconf .= "\tAdvOtherConfigFlag on;\n";