summaryrefslogtreecommitdiffstats
path: root/etc/inc/interfaces.inc
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2014-12-16 10:18:58 -0200
committerRenato Botelho <garga@FreeBSD.org>2014-12-16 10:22:01 -0200
commit43157c8f7d289749c8a87a4b4f95b8f981b06f86 (patch)
treede9400109379a413cac27cd762dc256dc99bae03 /etc/inc/interfaces.inc
parent745e7941af6d7709e82ffa7a32b3f007d8b03dc5 (diff)
downloadpfsense-43157c8f7d289749c8a87a4b4f95b8f981b06f86.zip
pfsense-43157c8f7d289749c8a87a4b4f95b8f981b06f86.tar.gz
Teach interface_vip_bring_down() to deal with IP Alias over CARP
Diffstat (limited to 'etc/inc/interfaces.inc')
-rw-r--r--etc/inc/interfaces.inc8
1 files changed, 7 insertions, 1 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 733ba20..d95b6eb 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -1054,7 +1054,13 @@ function interface_reconfigure($interface = "wan", $reloadall = false) {
function interface_vip_bring_down($vip) {
global $g;
- $vipif = get_real_interface($vip['interface']);
+ if (strpos($vip['interface'], '_vip')) {
+ $carpvip = get_configured_carp_interface_list($vip['interface'], 'inet' . (is_ipaddrv6($vip['subnet']) ? '6' : ''), 'vip');
+ $iface = $carpvip['interface'];
+ } else
+ $iface = $vip['interface'];
+
+ $vipif = get_real_interface($iface);
switch ($vip['mode']) {
case "proxyarp":
if (file_exists("{$g['varrun_path']}/choparp_{$vipif}.pid"))
OpenPOWER on IntegriCloud