diff options
author | smos <seth.mos@dds.nl> | 2012-06-06 08:47:23 +0200 |
---|---|---|
committer | smos <seth.mos@dds.nl> | 2012-06-06 08:50:07 +0200 |
commit | fe838158d9889218915b015f1b0a40552b889ad2 (patch) | |
tree | 401a8c3e547b0c3577768f0fb396ef46210b724f /etc | |
parent | 628306afe8af9ed6a036aea22ba7f29bfe9f8066 (diff) | |
download | pfsense-fe838158d9889218915b015f1b0a40552b889ad2.zip pfsense-fe838158d9889218915b015f1b0a40552b889ad2.tar.gz |
Change the DHCPv6 services page into a RA and DHCPv6 section, move some of the variables.
Add drop down to select carp vip for that interface for CARP advertisements
Allow setting the RA priority.
Redmine ticket #1829
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/services.inc | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/etc/inc/services.inc b/etc/inc/services.inc index f5b2c48..af291b5 100644 --- a/etc/inc/services.inc +++ b/etc/inc/services.inc @@ -84,11 +84,18 @@ function services_radvd_configure() { continue; /* are router advertisements enabled? */ - if($dhcpv6ifconf['mode'] == "disabled") + if($dhcpv6ifconf['ramode'] == "disabled") continue; - - $realif = get_real_interface($dhcpv6if); + /* check if we need to listen on a CARP interface */ + $carplist = get_configured_carp_interface_list(); + if($dhcpv6ifconf['rainterface'] <> "") { + if($carplist[$dhcpv6ifconf['rainterface']] <> "") { + $realif = $dhcpv6ifconf['rainterface']; + } else { + $realif = get_real_interface($dhcpv6if); + } + } $ifcfgipv6 = get_interface_ipv6($dhcpv6if); if(!is_ipaddrv6($ifcfgipv6)) continue; @@ -106,7 +113,18 @@ function services_radvd_configure() { $radvdconf .= "\tMaxRtrAdvInterval 10;\n"; $radvdconf .= "\tAdvLinkMTU 1280;\n"; // $radvdconf .= "\tDeprecatePrefix on;\n"; - switch($dhcpv6ifconf['mode']) { + switch($dhcpv6ifconf['rapriority']) { + case "low": + $radvdconf .= "\tAdvDefaultPreference low;\n"; + break; + case "medium": + $radvdconf .= "\tAdvDefaultPreference medium;\n"; + break; + case "high": + $radvdconf .= "\tAdvDefaultPreference high;\n"; + break; + } + switch($dhcpv6ifconf['ramode']) { case "managed": $radvdconf .= "\tAdvManagedFlag on;\n"; break; @@ -115,7 +133,7 @@ function services_radvd_configure() { break; } $radvdconf .= "\tprefix {$subnetv6}/{$ifcfgsnv6} {\n"; - switch($dhcpv6ifconf['mode']) { + switch($dhcpv6ifconf['ramode']) { case "managed": $radvdconf .= "\t\tAdvOnLink on;\n"; $radvdconf .= "\t\tAdvAutonomous off;\n"; @@ -976,7 +994,7 @@ EOD; } } - if($config['dhcpdv6'][$dhcpv6if]['mode'] <> "unmanaged") { + if($config['dhcpdv6'][$dhcpv6if]['ramode'] <> "unmanaged") { $realif = escapeshellcmd(get_real_interface($dhcpv6if)); $dhcpdv6ifs[] = $realif; exec("/sbin/ifconfig {$realif} |awk '/ether/ {print $2}'", $mac); |