mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-14 00:24:40 +00:00
interafces: track interface id #5630
This commit is contained in:
parent
6db977e56a
commit
b955dbc251
@ -2961,6 +2961,9 @@ function DHCP6_Config_File_Basic($interface, $wancfg, $wanif, $id = 0)
|
||||
$dhcp6cconf .= " prefix-interface {$trackifv6} {\n";
|
||||
$dhcp6cconf .= " sla-id {$lancfg['track6-prefix-id']};\n";
|
||||
$dhcp6cconf .= " sla-len {$wancfg['dhcp6-ia-pd-len']};\n";
|
||||
if (isset($lancfg['track6_ifid'])) {
|
||||
$dhcp6cconf .= " ifid {$lancfg['track6_ifid']};\n";
|
||||
}
|
||||
$dhcp6cconf .= " };\n";
|
||||
}
|
||||
}
|
||||
@ -3090,6 +3093,9 @@ function DHCP6_Config_File_Advanced($interface, $wancfg, $wanif, $id = 0)
|
||||
) {
|
||||
$id_assoc_statement_prefix .= " sla-len {$wancfg['adv_dhcp6_prefix_interface_statement_sla_len']};\n";
|
||||
}
|
||||
if (isset($lancfg['track6_ifid'])) {
|
||||
$id_assoc_statement_prefix .= " ifid {$lancfg['track6_ifid']};\n";
|
||||
}
|
||||
$id_assoc_statement_prefix .= " };\n";
|
||||
}
|
||||
}
|
||||
|
||||
@ -416,6 +416,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
'subnetv6',
|
||||
'track6-interface',
|
||||
'track6-prefix-id',
|
||||
'track6_ifid',
|
||||
];
|
||||
foreach ($std_copy_fieldnames as $fieldname) {
|
||||
$pconfig[$fieldname] = isset($a_interfaces[$if][$fieldname]) ? $a_interfaces[$if][$fieldname] : null;
|
||||
@ -431,6 +432,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
$pconfig['dhcp6prefixonly'] = isset($a_interfaces[$if]['dhcp6prefixonly']);
|
||||
$pconfig['dhcp6usev4iface'] = isset($a_interfaces[$if]['dhcp6usev4iface']);
|
||||
$pconfig['track6-prefix-id--hex'] = sprintf("%x", empty($pconfig['track6-prefix-id']) ? 0 : $pconfig['track6-prefix-id']);
|
||||
$pconfig['track6_ifid--hex'] = isset($pconfig['track6_ifid']) && $pconfig['track6_ifid'] != '' ? sprintf("%x", $pconfig['track6_ifid']) : '';
|
||||
$pconfig['dhcp6-prefix-id--hex'] = isset($pconfig['dhcp6-prefix-id']) && $pconfig['dhcp6-prefix-id'] != '' ? sprintf("%x", $pconfig['dhcp6-prefix-id']) : '';
|
||||
$pconfig['dhcp6_ifid--hex'] = isset($pconfig['dhcp6_ifid']) && $pconfig['dhcp6_ifid'] != '' ? sprintf("%x", $pconfig['dhcp6_ifid']) : '';
|
||||
$pconfig['dhcpd6track6allowoverride'] = isset($a_interfaces[$if]['dhcpd6track6allowoverride']);
|
||||
@ -808,6 +810,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isset($pconfig['track6_ifid--hex']) && $pconfig['track6_ifid--hex'] != '') {
|
||||
if (!ctype_xdigit($pconfig['track6_ifid--hex'])) {
|
||||
$input_errors[] = gettext('You must enter a valid hexadecimal number for the IPv6 interface ID.');
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'pppoev6':
|
||||
if ($pconfig['type'] != 'pppoe') {
|
||||
@ -1251,6 +1258,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
if (ctype_xdigit($pconfig['track6-prefix-id--hex'])) {
|
||||
$new_config['track6-prefix-id'] = intval($pconfig['track6-prefix-id--hex'], 16);
|
||||
}
|
||||
if (isset($pconfig['track6_ifid--hex']) && ctype_xdigit($pconfig['track6_ifid--hex'])) {
|
||||
$new_config['track6_ifid'] = intval($pconfig['track6_ifid--hex'], 16);
|
||||
}
|
||||
$new_config['dhcpd6track6allowoverride'] = !empty($pconfig['dhcpd6track6allowoverride']);
|
||||
break;
|
||||
}
|
||||
@ -3037,6 +3047,18 @@ include("head.inc");
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a id="help_for_track6_ifid" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?= gettext('Optional interface ID') ?></td>
|
||||
<td>
|
||||
<div class="input-group" style="max-width:348px">
|
||||
<div class="input-group-addon">0x</div>
|
||||
<input name="track6_ifid--hex" type="text" class="form-control" id="track6_ifid--hex" value="<?= html_safe($pconfig['track6_ifid--hex']) ?>" />
|
||||
</div>
|
||||
<div class="hidden" data-for="help_for_track6_ifid">
|
||||
<?= gettext('The value in this field is the numeric IPv6 interface ID used to construct the lower part of the resulting IPv6 prefix address. Setting a hex value will use that fixed value in its lower address part. Please note the maximum usable value is 0x7fffffffffffffff due to a PHP integer restriction.') ?>
|
||||
</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