summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2011-02-01 19:09:37 +0000
committerErmal <eri@pfsense.org>2011-02-01 19:09:37 +0000
commit4e8c89fdbedce2188da48f8db1c0dfe83df36435 (patch)
tree5119615d6f02bc65a24b9b387e3ee2523ffcfa4e
parent20fef17c7398170e18c9d03bcc04ee794002e981 (diff)
downloadpfsense-4e8c89fdbedce2188da48f8db1c0dfe83df36435.zip
pfsense-4e8c89fdbedce2188da48f8db1c0dfe83df36435.tar.gz
Allow ipalias with carp as parent interface to be synchronized.
-rwxr-xr-xetc/rc.filter_synchronize4
-rwxr-xr-xusr/local/www/xmlrpc.php10
2 files changed, 11 insertions, 3 deletions
diff --git a/etc/rc.filter_synchronize b/etc/rc.filter_synchronize
index 9e310f1..7eadce8 100755
--- a/etc/rc.filter_synchronize
+++ b/etc/rc.filter_synchronize
@@ -55,7 +55,7 @@ function backup_vip_config_section() {
$temp = array();
$temp['vip'] = array();
foreach($config['virtualip']['vip'] as $section) {
- if($section['mode'] == "proxyarp" || $section['mode'] == "ipalias")
+ if(($section['mode'] == "proxyarp" || $section['mode'] == "ipalias") && substr($section['interface'],0,3) != "vip")
continue;
if($section['advskew'] <> "") {
$section_val = intval($section['advskew']);
@@ -417,4 +417,4 @@ if (is_array($config['installedpackages']['carpsettings']['config'])) {
}
}
-?> \ No newline at end of file
+?>
diff --git a/usr/local/www/xmlrpc.php b/usr/local/www/xmlrpc.php
index ea0166b..ebb3a24 100755
--- a/usr/local/www/xmlrpc.php
+++ b/usr/local/www/xmlrpc.php
@@ -171,7 +171,7 @@ function restore_config_section_xmlrpc($raw_params) {
// Then add ipalias and proxyarp types already defined on the backup
if (is_array($vipbackup)) {
foreach ($vipbackup as $vip) {
- if (($vip['mode'] == 'ipalias') || ($vip['mode'] == 'proxyarp'))
+ if ((($vip['mode'] == 'ipalias') || ($vip['mode'] == 'proxyarp')) && substr($vip['interface'], 0, 3) != "vip")
array_unshift($config['virtualip']['vip'], $vip);
}
}
@@ -226,8 +226,16 @@ function merge_config_section_xmlrpc($raw_params) {
foreach ($config['virtualip']['vip'] as $vip)
interface_vip_bring_down($vip);
}
+ $vipbackup = $config['virtualip']['vip'];
}
$config = array_merge_recursive_unique($config, $params[0]);
+ // Then add ipalias and proxyarp types already defined on the backup
+ if (is_array($vipbackup)) {
+ foreach ($vipbackup as $vip) {
+ if ((($vip['mode'] == 'ipalias') || ($vip['mode'] == 'proxyarp')) && substr($vip['interface'], 0, 3) != "vip")
+ array_unshift($config['virtualip']['vip'], $vip);
+ }
+ }
$mergedkeys = implode(",", array_keys($params[0]));
write_config("Merged in config ({$mergedkeys} sections) from XMLRPC client.");
interfaces_vips_configure();
OpenPOWER on IntegriCloud