From ac3e3baa6ebde0dba2e3f43295b25dfa809e905e Mon Sep 17 00:00:00 2001 From: Chris Buechler Date: Tue, 21 Jun 2016 19:39:31 -0500 Subject: [PATCH] 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 --- src/etc/inc/interfaces.inc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index c5d030ff9e..2e1eb5b166 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -5064,6 +5064,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) { @@ -5076,7 +5077,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") { @@ -5084,6 +5085,9 @@ function link_interface_to_vips($int, $action = "", $vhid = '') { } } } + if ($updatevips === true) { + interfaces_vips_configure($int); + } return $result; }