diff options
author | Chris Buechler <cmb@pfsense.org> | 2016-03-29 23:39:36 -0500 |
---|---|---|
committer | Chris Buechler <cmb@pfsense.org> | 2016-03-29 23:39:36 -0500 |
commit | c0509674160f47e3a7b041d2b20c80ebe12981d2 (patch) | |
tree | 8b45bcfa436c3eaff8cfb0ad321d4c10b0ed8bc4 /src/etc | |
parent | bdd284c3aac83bf661aa66a6e80defacd6883fe8 (diff) | |
download | pfsense-c0509674160f47e3a7b041d2b20c80ebe12981d2.zip pfsense-c0509674160f47e3a7b041d2b20c80ebe12981d2.tar.gz |
Bring back rainterface, add config upgrade to convert to new _vip format. Ticket #6043
Diffstat (limited to 'src/etc')
-rw-r--r-- | src/etc/inc/globals.inc | 2 | ||||
-rw-r--r-- | src/etc/inc/services.inc | 20 | ||||
-rw-r--r-- | src/etc/inc/upgrade_config.inc | 14 |
3 files changed, 33 insertions, 3 deletions
diff --git a/src/etc/inc/globals.inc b/src/etc/inc/globals.inc index f160eb3..8b2e6ae 100644 --- a/src/etc/inc/globals.inc +++ b/src/etc/inc/globals.inc @@ -99,7 +99,7 @@ $g = array( "disablecrashreporter" => false, "crashreporterurl" => "https://crashreporter.pfsense.org/crash_reporter.php", "debug" => false, - "latest_config" => "14.9", + "latest_config" => "15.0", "nopkg_platforms" => array("cdrom"), "minimum_ram_warning" => "101", "minimum_ram_warning_text" => "128 MB", diff --git a/src/etc/inc/services.inc b/src/etc/inc/services.inc index 2eccd71..e30db55 100644 --- a/src/etc/inc/services.inc +++ b/src/etc/inc/services.inc @@ -105,6 +105,19 @@ function services_radvd_configure($blacklist = array()) { $dhcpv6ifconf['rapriority'] = "medium"; } + $racarpif = false; + /* check if binding to CARP IP */ + if (!empty($dhcpv6ifconf['rainterface'])) { + if (strstr($dhcpv6ifconf['rainterface'], "_vip")) { + if (get_carp_interface_status($dhcpv6ifconf['rainterface']) == "MASTER") { + $dhcpv6if = $dhcpv6ifconf['rainterface']; + $racarpif = true; + } else { + continue; + } + } + } + $realif = get_real_interface($dhcpv6if, "inet6"); if (isset($radvdifs[$realif])) { @@ -134,7 +147,6 @@ function services_radvd_configure($blacklist = array()) { } else { $radvdconf .= "\tAdvLinkMTU 1280;\n"; } - // $radvdconf .= "\tDeprecatePrefix on;\n"; switch ($dhcpv6ifconf['rapriority']) { case "low": $radvdconf .= "\tAdvDefaultPreference low;\n"; @@ -158,7 +170,11 @@ function services_radvd_configure($blacklist = array()) { break; } $radvdconf .= "\tprefix {$subnetv6}/{$ifcfgsnv6} {\n"; - $radvdconf .= "\t\tDeprecatePrefix on;\n"; + if ($racarpif == true) { + $radvdconf .= "\t\tDeprecatePrefix off;\n"; + } else { + $radvdconf .= "\t\tDeprecatePrefix on;\n"; + } switch ($dhcpv6ifconf['ramode']) { case "managed": $radvdconf .= "\t\tAdvOnLink on;\n"; diff --git a/src/etc/inc/upgrade_config.inc b/src/etc/inc/upgrade_config.inc index 4f27e09..f6614a9 100644 --- a/src/etc/inc/upgrade_config.inc +++ b/src/etc/inc/upgrade_config.inc @@ -4773,4 +4773,18 @@ function upgrade_148_to_149() { } } } + +function upgrade_149_to_150() { + global $config; + + if (is_array($config['dhcpdv6'])) { + foreach ($config['dhcpdv6'] as &$dhcpdv6) { + if (isset($dhcpdv6['rainterface'])) { + if (strstr($dhcpdv6['rainterface'], "_vip")) { + $dhcpdv6['rainterface'] = get_vip_from_oldcarp($dhcpdv6['rainterface']); + } + } + } + } +} ?> |