summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLuiz Otavio O Souza <luiz@netgate.com>2016-02-16 11:31:20 -0600
committerLuiz Otavio O Souza <luiz@netgate.com>2016-02-16 11:31:20 -0600
commit3185f659cd3ec7157595b3b701a371b21292e706 (patch)
treeddd21901f50903c1d3e2f2b0211b0ec3810d34f6 /src
parent2a0aef55bc0deaaa81b0321c3d1e9b1b72f77290 (diff)
downloadpfsense-3185f659cd3ec7157595b3b701a371b21292e706.zip
pfsense-3185f659cd3ec7157595b3b701a371b21292e706.tar.gz
Fix link_interface_to_vips() to account for IP alias over CARP.
Diffstat (limited to 'src')
-rw-r--r--src/etc/inc/interfaces.inc20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc
index 53fa9ba..38db490 100644
--- a/src/etc/inc/interfaces.inc
+++ b/src/etc/inc/interfaces.inc
@@ -5038,18 +5038,24 @@ function link_interface_to_vips($int, $action = "", $vhid = '') {
if (is_array($config['virtualip']['vip'])) {
$result = array();
foreach ($config['virtualip']['vip'] as $vip) {
- if ($int == $vip['interface']) {
- if ($action == "update") {
- interfaces_vips_configure($int);
- } else {
- if (empty($vhid) || ($vhid == $vip['vhid'])) {
- $result[] = $vip;
- }
+ if (substr($vip['interface'], 0, 4) == "_vip")
+ $iface = get_configured_vip_interface($vip['interface']);
+ else
+ $iface = $vip['interface'];
+ if ($int != $iface)
+ continue;
+ if ($action == "update") {
+ interfaces_vips_configure($int);
+ } else {
+ if (empty($vhid) || ($vhid == $vip['vhid'])) {
+ $result[] = $vip;
}
}
}
return $result;
}
+
+ return NULL;
}
/****f* interfaces/link_interface_to_bridge
OpenPOWER on IntegriCloud