summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2014-11-10 15:00:30 +0100
committerErmal <eri@pfsense.org>2014-11-10 15:00:30 +0100
commit5063f1df931b2887e2da2560c73fef954656e4e8 (patch)
tree6dc55e05e7936c41238a135461fdeb4dd53bc410 /etc
parent9c97df267fd4f3c6c638466a54482e3d2c1b2986 (diff)
downloadpfsense-5063f1df931b2887e2da2560c73fef954656e4e8.zip
pfsense-5063f1df931b2887e2da2560c73fef954656e4e8.tar.gz
Ticket #3967. Allow to have carp as parent of ipaliases - continued
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/filter.inc2
-rw-r--r--etc/inc/interfaces.inc9
-rw-r--r--etc/phpshellsessions/enablecarp10
3 files changed, 17 insertions, 4 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index 8c76128..7bd342c 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -3641,7 +3641,7 @@ function filter_generate_ipsec_rules($log = array()) {
}
}
- if (strstr($ph1ent['interface'], "_vip"))
+ if (strpos($ph1ent['interface'], "_vip"))
list($parentinterface, $vhid) = explode("_vhid", $ph1ent['interface']);
else
$parentinterface = $ph1ent['interface'];
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index e3067d6..f560b38 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -4151,6 +4151,15 @@ function get_current_wan_address($interface = "wan") {
function convert_real_interface_to_friendly_interface_name($interface = "wan") {
global $config;
+ if (stripos($interface, "_vip")) {
+ foreach ($config['virtualip']['vip'] as $counter => $vip) {
+ if ($vip['mode'] == "carp") {
+ if ($interface == "{$vip['interface']}_vip{$vip['vhid']}")
+ return $vip['interface'];
+ }
+ }
+ }
+
/* XXX: For speed reasons reference directly the interface array */
$ifdescrs = &$config['interfaces'];
//$ifdescrs = get_configured_interface_list(false, true);
diff --git a/etc/phpshellsessions/enablecarp b/etc/phpshellsessions/enablecarp
index b1c4a43..c02a606 100644
--- a/etc/phpshellsessions/enablecarp
+++ b/etc/phpshellsessions/enablecarp
@@ -7,9 +7,13 @@ if(is_array($config['virtualip']['vip'])) {
$viparr = &$config['virtualip']['vip'];
foreach ($viparr as $vip) {
switch ($vip['mode']) {
- case "carp":
- interface_carp_configure($vip);
- sleep(1);
+ case "carp":
+ interface_carp_configure($vip);
+ sleep(1);
+ break;
+ case "ipalias":
+ if (strpos($vip['interface'], '_vip'))
+ interface_ipalias_configure($vip);
break;
}
}
OpenPOWER on IntegriCloud