diff options
author | marjohn56 <martin@queens-park.com> | 2017-07-27 19:59:11 +0100 |
---|---|---|
committer | marjohn56 <martin@queens-park.com> | 2017-07-28 08:05:24 +0100 |
commit | 58a185aede55efe71cabc337938ed05f456eecea (patch) | |
tree | 6b419e1643e6807f3d8979b5f895c2e29b67bba1 /src | |
parent | 9968e3844f1e43301fa85c2be06b1d7cf1db9e16 (diff) | |
download | pfsense-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.inc | 5 | ||||
-rwxr-xr-x | src/usr/local/www/interfaces.php | 15 |
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( |