diff options
author | Chris Buechler <cmb@pfsense.org> | 2016-06-21 19:39:31 -0500 |
---|---|---|
committer | Chris Buechler <cmb@pfsense.org> | 2016-06-21 19:40:11 -0500 |
commit | d75c55fbe2f98dfe782dfc9dc22f76765e4ef3c2 (patch) | |
tree | f394b92aaf168eb06781c757a5bcc656dde6512a /src/etc/inc | |
parent | 68126224e8cf576fb0a01b542d5ce65a2b8476b0 (diff) | |
download | pfsense-d75c55fbe2f98dfe782dfc9dc22f76765e4ef3c2.zip pfsense-d75c55fbe2f98dfe782dfc9dc22f76765e4ef3c2.tar.gz |
Only call interfaces_vips_configure once if it's needed, rather than doing the same thing over and over for every VIP on an interface. Ticket #6515
Diffstat (limited to 'src/etc/inc')
-rw-r--r-- | src/etc/inc/interfaces.inc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index 0e3fb78..8ad6acc 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -5062,6 +5062,7 @@ function link_interface_to_vlans($int, $action = "") { function link_interface_to_vips($int, $action = "", $vhid = '') { global $config; + $updatevips = false; if (is_array($config['virtualip']['vip'])) { $result = array(); foreach ($config['virtualip']['vip'] as $vip) { @@ -5074,7 +5075,7 @@ function link_interface_to_vips($int, $action = "", $vhid = '') { continue; } if ($action == "update") { - interfaces_vips_configure($int); + $updatevips = true; } else { if (empty($vhid) || ($vhid == $vip['vhid']) || substr($vip['interface'], 0, 4) == "_vip") { @@ -5082,6 +5083,9 @@ function link_interface_to_vips($int, $action = "", $vhid = '') { } } } + if ($updatevips === true) { + interfaces_vips_configure($int); + } return $result; } |