diff options
author | Ermal <eri@pfsense.org> | 2012-10-30 22:08:43 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2012-10-30 22:08:43 +0000 |
commit | f85da3b5828843b8c1a904b05c2f9d612eab1b56 (patch) | |
tree | 02ac01d471abcc23b8595dd9b2b529e8e34733eb /etc | |
parent | e08a5153f9a281fdbb3a0cb66fddfea4b23a19a6 (diff) | |
download | pfsense-f85da3b5828843b8c1a904b05c2f9d612eab1b56.zip pfsense-f85da3b5828843b8c1a904b05c2f9d612eab1b56.tar.gz |
Fixes #2300. Take into consideration ip aliases on carp
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/vpn.inc | 13 |
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)) { |