diff options
author | smos <seth.mos@dds.nl> | 2012-04-18 11:26:09 +0200 |
---|---|---|
committer | smos <seth.mos@dds.nl> | 2012-04-18 11:26:09 +0200 |
commit | feb88a1476141a7249e1046ee705e3e982374668 (patch) | |
tree | 994674ef79b52b948181e23fca6d4e5726abc2d0 /usr/local | |
parent | 1a5f87d1c856115009101d29732c53094082c6a2 (diff) | |
download | pfsense-feb88a1476141a7249e1046ee705e3e982374668.zip pfsense-feb88a1476141a7249e1046ee705e3e982374668.tar.gz |
Add support for SLAAC on the WAN interface, this is required for Stateless autoconf addressing.
Normally this should only apply to Appliances that do not need to route. We automatically hook in the dhcp6 client to request name servers from DHCP6 in a information only mode. It will not attempt to request a address. For that you should use the plain DHCP6 option with a prefix size of none.
This is for redmine ticket #1834
Diffstat (limited to 'usr/local')
-rwxr-xr-x | usr/local/www/interfaces.php | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/usr/local/www/interfaces.php b/usr/local/www/interfaces.php index 8bd609f..5377357 100755 --- a/usr/local/www/interfaces.php +++ b/usr/local/www/interfaces.php @@ -213,6 +213,9 @@ switch($wancfg['ipaddr']) { } switch($wancfg['ipaddrv6']) { + case "slaac": + $pconfig['type6'] = "slaac"; + break; case "dhcp6": $pconfig['dhcp6-duid'] = $wancfg['dhcp6-duid']; if($wancfg['dhcp6-ia-pd-len'] == "") @@ -803,6 +806,9 @@ if ($_POST['apply']) { $wancfg['gatewayv6'] = $_POST['gatewayv6']; } break; + case "slaac": + $wancfg['ipaddrv6'] = "slaac"; + break; case "dhcp6": $wancfg['ipaddrv6'] = "dhcp6"; $wancfg['dhcp6-duid'] = $_POST['dhcp6-duid']; @@ -1080,7 +1086,7 @@ $statusurl = "status_interfaces.php"; $closehead = false; include("head.inc"); $types4 = array("none" => gettext("None"), "staticv4" => gettext("Static IPv4"), "dhcp" => gettext("DHCP"), "ppp" => gettext("PPP"), "pppoe" => gettext("PPPoE"), "pptp" => gettext("PPTP"), "l2tp" => gettext("L2TP") /* , "carpdev-dhcp" => "CarpDev"*/); -$types6 = array("none" => gettext("None"), "staticv6" => gettext("Static IPv6"), "dhcp6" => gettext("DHCP6"), "6rd" => gettext("6rd"), "6to4" => gettext("6to4"), "track6" => gettext("Track Interface")); +$types6 = array("none" => gettext("None"), "staticv6" => gettext("Static IPv6"), "dhcp6" => gettext("DHCP6"), "slaac" => gettext("SLAAC"), "6rd" => gettext("6rd Tunnel"), "6to4" => gettext("6to4 Tunnel"), "track6" => gettext("Track Interface")); ?> @@ -1127,27 +1133,31 @@ $types6 = array("none" => gettext("None"), "staticv6" => gettext("Static IPv6"), function updateTypeSix(t) { switch(t) { case "none": { - jQuery('#staticv6, #dhcp6, #6rd, #6to4, #track6').hide(); + jQuery('#staticv6, #dhcp6, #6rd, #6to4, #track6, #slaac').hide(); break; } case "staticv6": { - jQuery('#none, #dhcp6, #6rd, #6to4, #track6').hide(); + jQuery('#none, #dhcp6, #6rd, #6to4, #track6, #slaac').hide(); + break; + } + case "slaac": { + jQuery('#none, #staticv6, #6rd, #6to4, #track6, #dhcp6').hide(); break; } case "dhcp6": { - jQuery('#none, #staticv6, #6rd, #6to4, #track6').hide(); + jQuery('#none, #staticv6, #6rd, #6to4, #track6, #slaac').hide(); break; } case "6rd": { - jQuery('#none, #dhcp6, #staticv6, #6to4, #track6').hide(); + jQuery('#none, #dhcp6, #staticv6, #6to4, #track6, #slaac').hide(); break; } case "6to4": { - jQuery('#none, #dhcp6, #staticv6, #6rd, #track6').hide(); + jQuery('#none, #dhcp6, #staticv6, #6rd, #track6, #slaac').hide(); break; } case "track6": { - jQuery('#none, #dhcp6, #staticv6, #6rd, #6to4').hide(); + jQuery('#none, #dhcp6, #staticv6, #6rd, #6to4, #slaac').hide(); break; } } |