mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-13 08:09:41 +00:00
interfaces: override link-local tracking router address if needed
PR: https://forum.opnsense.org/index.php?topic=10034.0
This commit is contained in:
parent
8c83f70f1f
commit
eada2bf5a1
@ -2577,6 +2577,8 @@ function interface_track6_configure($interface = 'lan', $lancfg, $linkupevent =
|
||||
return;
|
||||
}
|
||||
|
||||
$lladdr = !empty($lancfg['track6-lladdr']) ? $lancfg['track6-lladdr'] : 'fe80::1:1';
|
||||
|
||||
$realif = get_real_interface($interface, 'inet6');
|
||||
|
||||
/* always configure a fixed link-local on the track6 interfaces */
|
||||
@ -2584,7 +2586,7 @@ function interface_track6_configure($interface = 'lan', $lancfg, $linkupevent =
|
||||
if (!empty($linklocal)) {
|
||||
mwexecf('/sbin/ifconfig %s inet6 %s delete', array($realif, $linklocal));
|
||||
}
|
||||
mwexecf('/sbin/ifconfig %s inet6 %s', array($realif, "fe80::1:1%{$realif}"));
|
||||
mwexecf('/sbin/ifconfig %s inet6 %s', array($realif, "{$lladdr}%{$realif}"));
|
||||
|
||||
switch ($trackcfg['ipaddrv6']) {
|
||||
case '6to4':
|
||||
|
||||
@ -426,6 +426,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
'subnet',
|
||||
'subnetv6',
|
||||
'track6-interface',
|
||||
'track6-lladdr',
|
||||
'track6-prefix-id',
|
||||
'rfc3118_isp',
|
||||
'rfc3118_username',
|
||||
@ -445,7 +446,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
$pconfig['dhcp6usev4iface'] = isset($a_interfaces[$if]['dhcp6usev4iface']);
|
||||
$pconfig['dhcp6norelease'] = isset($a_interfaces[$if]['dhcp6norelease']);
|
||||
$pconfig['adv_dhcp6_debug'] = isset($a_interfaces[$if]['adv_dhcp6_debug']);
|
||||
$pconfig['track6-prefix-id--hex'] = sprintf("%x", empty($pconfig['track6-prefix-id']) ? 0 :$pconfig['track6-prefix-id']);
|
||||
$pconfig['track6-prefix-id--hex'] = sprintf("%x", empty($pconfig['track6-prefix-id']) ? 0 : $pconfig['track6-prefix-id']);
|
||||
$pconfig['dhcpd6track6allowoverride'] = isset($a_interfaces[$if]['dhcpd6track6allowoverride']);
|
||||
|
||||
/*
|
||||
@ -794,6 +795,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
}
|
||||
/* XXX should also check for duplicate delegation in peer trackers */
|
||||
}
|
||||
if (!empty($pconfig['track6-lladdr']) && (!is_ipaddrv6($pconfig['track6-lladdr']) || !is_linklocal($pconfig['track6-lladdr']))) {
|
||||
$input_errors[] = gettext('A valid link-local tracking router address must be specified.');
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1222,6 +1226,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
case 'track6':
|
||||
$new_config['ipaddrv6'] = 'track6';
|
||||
$new_config['track6-interface'] = $pconfig['track6-interface'];
|
||||
$new_config['track6-lladdr'] = $pconfig['track6-lladdr'];
|
||||
$new_config['track6-prefix-id'] = 0;
|
||||
if (ctype_xdigit($pconfig['track6-prefix-id--hex'])) {
|
||||
$new_config['track6-prefix-id'] = intval($pconfig['track6-prefix-id--hex'], 16);
|
||||
@ -3022,6 +3027,15 @@ include("head.inc");
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a id="help_for_track6-lladdr" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?= gettext('Link-local router address') ?></td>
|
||||
<td>
|
||||
<input name="track6-lladdr" type="text" id="track6-lladdr" value="<?= html_safe($pconfig['track6-lladdr']) ?>" placeholder="fe80::1:1"/>
|
||||
<div class="hidden" data-for="help_for_track6-lladdr">
|
||||
<?= gettext('The value in this field is the link-local router address. Optionally overrides the recommended use of fe80::1:1.') ?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a id="help_for_dhcpd6_opt" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?= gettext('Manual configuration') ?></td>
|
||||
<td>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user