summaryrefslogtreecommitdiffstats
path: root/src/etc
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2016-03-29 23:39:36 -0500
committerChris Buechler <cmb@pfsense.org>2016-03-29 23:39:36 -0500
commitc0509674160f47e3a7b041d2b20c80ebe12981d2 (patch)
tree8b45bcfa436c3eaff8cfb0ad321d4c10b0ed8bc4 /src/etc
parentbdd284c3aac83bf661aa66a6e80defacd6883fe8 (diff)
downloadpfsense-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.inc2
-rw-r--r--src/etc/inc/services.inc20
-rw-r--r--src/etc/inc/upgrade_config.inc14
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']);
+ }
+ }
+ }
+ }
+}
?>
OpenPOWER on IntegriCloud