diff options
author | Ermal Luçi <eri@pfsense.org> | 2013-09-03 00:15:00 -0700 |
---|---|---|
committer | Ermal Luçi <eri@pfsense.org> | 2013-09-03 00:15:00 -0700 |
commit | a2ac36616e7d9f63fe8fd574ab9e7305a5dc5d20 (patch) | |
tree | e736dd378c59845b3a845a0fb32a50f27a6ba30f | |
parent | 4a6f3d968aec393557ea86541aa1ead58a2a21ae (diff) | |
parent | 90652fbfe9e194ac83b1fc76d4b31c8c7309166e (diff) | |
download | pfsense-a2ac36616e7d9f63fe8fd574ab9e7305a5dc5d20.zip pfsense-a2ac36616e7d9f63fe8fd574ab9e7305a5dc5d20.tar.gz |
Merge pull request #792 from razzfazz/RELENG_2_1
add option to send prefix hint for requesting desired prefix length for ...
-rw-r--r-- | etc/inc/interfaces.inc | 5 | ||||
-rwxr-xr-x | usr/local/www/interfaces.php | 11 |
2 files changed, 15 insertions, 1 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index 85b7476..c42f8d4 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -3512,6 +3512,9 @@ function interface_dhcpv6_configure($interface = "wan", $wancfg) { if(is_numeric($wancfg['dhcp6-ia-pd-len'])) { /* Setup the prefix delegation */ $dhcp6cconf .= "id-assoc pd 0 {\n"; + $preflen = 64 - $wancfg['dhcp6-ia-pd-len']; + if (isset($wancfg['dhcp6-ia-pd-send-hint'])) + $dhcp6cconf .= " prefix ::/{$preflen} infinity;\n"; $iflist = link_interface_to_track6($interface); foreach ($iflist as $friendly => $ifcfg) { if (is_numeric($ifcfg['track6-prefix-id'])) { @@ -3524,7 +3527,7 @@ function interface_dhcpv6_configure($interface = "wan", $wancfg) { $dhcp6cconf .= " };\n"; } } - unset($iflist, $ifcfg); + unset($preflen, $iflist, $ifcfg); $dhcp6cconf .= "};\n"; } } diff --git a/usr/local/www/interfaces.php b/usr/local/www/interfaces.php index 30bfc1c..22fc811 100755 --- a/usr/local/www/interfaces.php +++ b/usr/local/www/interfaces.php @@ -218,6 +218,7 @@ switch($wancfg['ipaddrv6']) { if(!isset($wancfg['dhcp6-ia-pd-len'])) $wancfg['dhcp6-ia-pd-len'] = "none"; $pconfig['dhcp6-ia-pd-len'] = $wancfg['dhcp6-ia-pd-len']; + $pconfig['dhcp6-ia-pd-send-hint'] = isset($wancfg['dhcp6-ia-pd-send-hint']); $pconfig['type6'] = "dhcp6"; $pconfig['dhcp6prefixonly'] = isset($wancfg['dhcp6prefixonly']); $pconfig['dhcp6usev4iface'] = isset($wancfg['dhcp6usev4iface']); @@ -748,6 +749,7 @@ if ($_POST['apply']) { unset($wancfg['dhcprejectfrom']); unset($wancfg['dhcp6-duid']); unset($wancfg['dhcp6-ia-pd-len']); + unset($wancfg['dhcp6-ia-pd-send-hint']); unset($wancfg['dhcp6prefixonly']); unset($wancfg['dhcp6usev4iface']); unset($wancfg['track6-interface']); @@ -886,6 +888,8 @@ if ($_POST['apply']) { $wancfg['ipaddrv6'] = "dhcp6"; $wancfg['dhcp6-duid'] = $_POST['dhcp6-duid']; $wancfg['dhcp6-ia-pd-len'] = $_POST['dhcp6-ia-pd-len']; + if($_POST['dhcp6-ia-pd-send-hint'] == "yes") + $wancfg['dhcp6-ia-pd-send-hint'] = true; if($_POST['dhcp6prefixonly'] == "yes") $wancfg['dhcp6prefixonly'] = true; if($_POST['dhcp6usev4iface'] == "yes") @@ -1836,6 +1840,13 @@ $types6 = array("none" => gettext("None"), "staticv6" => gettext("Static IPv6"), </td> </tr> <tr> + <td width="22%" valign="top" class="vncell"><?=gettext("Send IPv6 prefix hint"); ?></td> + <td width="78%" class="vtable"> + <input name="dhcp6-ia-pd-send-hint" type="checkbox" id="dhcp6-ia-pd-send-hint" value="yes" <?php if ($pconfig['dhcp6-ia-pd-send-hint'] == true) echo "checked=\"checked\""; ?> /> + <?=gettext("Send an IPv6 prefix hint to indicate the desired prefix size for delegation"); ?> + </td> + </tr> + <tr> <td colspan="2" valign="top" height="16"></td> </tr> </table> |