summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authormarjohn56 <martin@queens-park.com>2017-07-27 19:59:11 +0100
committermarjohn56 <martin@queens-park.com>2017-07-28 08:05:24 +0100
commit58a185aede55efe71cabc337938ed05f456eecea (patch)
tree6b419e1643e6807f3d8979b5f895c2e29b67bba1 /src
parent9968e3844f1e43301fa85c2be06b1d7cf1db9e16 (diff)
downloadpfsense-58a185aede55efe71cabc337938ed05f456eecea.zip
pfsense-58a185aede55efe71cabc337938ed05f456eecea.tar.gz
dhcp6c Advanced Config prefix interface
Currently, when using dhcp6c advanced configuration the prefix interface is WAN, this is not very useful! The changes here allow the user to select the interface that the PD will be applied on..
Diffstat (limited to 'src')
-rw-r--r--src/etc/inc/interfaces.inc5
-rwxr-xr-xsrc/usr/local/www/interfaces.php15
2 files changed, 17 insertions, 3 deletions
diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc
index 0787110..003738e 100644
--- a/src/etc/inc/interfaces.inc
+++ b/src/etc/inc/interfaces.inc
@@ -4407,10 +4407,11 @@ function DHCP6_Config_File_Advanced($interface, $wancfg, $wanif) {
}
$id_assoc_statement_prefix .= ";";
}
-
+
+ $realif = get_real_interface($wancfg['adv_dhcp6_prefix_selected_interface']);
if (is_numeric($wancfg['adv_dhcp6_prefix_interface_statement_sla_id'])) {
$id_assoc_statement_prefix .= "\n\tprefix-interface";
- $id_assoc_statement_prefix .= " {$wanif}";
+ $id_assoc_statement_prefix .= " {$realif}";
$id_assoc_statement_prefix .= " {\n";
$id_assoc_statement_prefix .= "\t\tsla-id {$wancfg['adv_dhcp6_prefix_interface_statement_sla_id']};\n";
if (($wancfg['adv_dhcp6_prefix_interface_statement_sla_len'] >= 0) &&
diff --git a/src/usr/local/www/interfaces.php b/src/usr/local/www/interfaces.php
index c8b034e..a5e1c14 100755
--- a/src/usr/local/www/interfaces.php
+++ b/src/usr/local/www/interfaces.php
@@ -90,6 +90,7 @@ if (!is_array($config['gateways']['gateway_item'])) {
$a_gateways = &$config['gateways']['gateway_item'];
+$interfaces = get_configured_interface_with_descr();
$wancfg = &$config['interfaces'][$if];
$old_wancfg = $wancfg;
$old_wancfg['realif'] = get_real_interface($if);
@@ -228,6 +229,7 @@ $pconfig['adv_dhcp6_id_assoc_statement_prefix_vltime'] = $wancfg['adv_dhcp6_id_a
$pconfig['adv_dhcp6_prefix_interface_statement_sla_id'] = $wancfg['adv_dhcp6_prefix_interface_statement_sla_id'];
$pconfig['adv_dhcp6_prefix_interface_statement_sla_len'] = $wancfg['adv_dhcp6_prefix_interface_statement_sla_len'];
+$pconfig['adv_dhcp6_prefix_selected_interface'] = $wancfg['adv_dhcp6_prefix_selected_interface'];
$pconfig['adv_dhcp6_authentication_statement_authname'] = $wancfg['adv_dhcp6_authentication_statement_authname'];
$pconfig['adv_dhcp6_authentication_statement_protocol'] = $wancfg['adv_dhcp6_authentication_statement_protocol'];
@@ -1093,6 +1095,7 @@ if ($_POST['apply']) {
unset($wancfg['adv_dhcp6_prefix_interface_statement_sla_id']);
unset($wancfg['adv_dhcp6_prefix_interface_statement_sla_len']);
+ unset($wancfg['adv_dhcp6_prefix_selected_interface']);
unset($wancfg['adv_dhcp6_authentication_statement_authname']);
unset($wancfg['adv_dhcp6_authentication_statement_protocol']);
@@ -1356,7 +1359,9 @@ if ($_POST['apply']) {
if (is_numericint($_POST['adv_dhcp6_prefix_interface_statement_sla_len'])) {
$wancfg['adv_dhcp6_prefix_interface_statement_sla_len'] = $_POST['adv_dhcp6_prefix_interface_statement_sla_len'];
}
-
+ if (!empty($_POST['adv_dhcp6_prefix_selected_interface'])) {
+ $wancfg['adv_dhcp6_prefix_selected_interface'] = $_POST['adv_dhcp6_prefix_selected_interface'];
+ }
if (!empty($_POST['adv_dhcp6_authentication_statement_authname'])) {
$wancfg['adv_dhcp6_authentication_statement_authname'] = $_POST['adv_dhcp6_authentication_statement_authname'];
}
@@ -2377,6 +2382,14 @@ $group->add(new Form_Input(
$section->add($group);
+$group = new Form_Group('Select prefix interface');
+$section->addInput(new Form_Select(
+ 'adv_dhcp6_prefix_selected_interface',
+ 'Prefix Interface',
+ $pconfig['adv_dhcp6_prefix_selected_interface'],
+ $interfaces
+))->setHelp('Select the interface on which to apply the prefix delegation.');
+
$group = new Form_Group('Authentication statement');
$group->add(new Form_Input(
OpenPOWER on IntegriCloud