summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2012-10-30 22:08:43 +0000
committerErmal <eri@pfsense.org>2012-10-30 22:08:43 +0000
commitf85da3b5828843b8c1a904b05c2f9d612eab1b56 (patch)
tree02ac01d471abcc23b8595dd9b2b529e8e34733eb
parente08a5153f9a281fdbb3a0cb66fddfea4b23a19a6 (diff)
downloadpfsense-f85da3b5828843b8c1a904b05c2f9d612eab1b56.zip
pfsense-f85da3b5828843b8c1a904b05c2f9d612eab1b56.tar.gz
Fixes #2300. Take into consideration ip aliases on carp
-rw-r--r--etc/inc/vpn.inc13
1 files changed, 8 insertions, 5 deletions
diff --git a/etc/inc/vpn.inc b/etc/inc/vpn.inc
index 7981a64..50b67b6 100644
--- a/etc/inc/vpn.inc
+++ b/etc/inc/vpn.inc
@@ -933,12 +933,15 @@ EOD;
}
/* static route needed? */
- if (preg_match("/^carp|^[a-z0-9]+_vip/i", $ph1ent['interface']))
- $parentinterface = link_carp_interface_to_parent($ph1ent['interface']);
- else if (is_ipaddr($ph1ent['interface'])) {
+ if (is_ipaddr($ph1ent['interface'])) {
$vip = find_virtual_ip_alias($ph1ent['interface']);
- $parentinterface = $vip['interface'];
- } else
+ if (preg_match("/^carp|^[a-z0-9]+_vip/i", $vip['interface']))
+ $parentinterface = link_carp_interface_to_parent($vip['interface']);
+ else
+ $parentinterface = $vip['interface'];
+ } else if (preg_match("/^carp|^[a-z0-9]+_vip/i", $ph1ent['interface']))
+ $parentinterface = link_carp_interface_to_parent($ph1ent['interface']);
+ else
$parentinterface = $ph1ent['interface'];
if (is_ipaddr($rgip)) {
OpenPOWER on IntegriCloud