diff --git a/src/etc/inc/gwlb.inc b/src/etc/inc/gwlb.inc index 871ee9e46..672e05698 100644 --- a/src/etc/inc/gwlb.inc +++ b/src/etc/inc/gwlb.inc @@ -168,7 +168,7 @@ EOD; * the if block. So using $gateway['ipprotocol'] is the better option. */ if ($gateway['ipprotocol'] == "inet") { // This is an IPv4 gateway... - $gwifip = find_interface_ip($gateway['interface'], true); + $gwifip = find_interface_ip($gateway['interface']); if (!is_ipaddrv4($gwifip)) continue; //Skip this target diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index 830ed445d..2374b2dbb 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -2839,7 +2839,7 @@ function interface_vlan_adapt_mtu($vlanifs, $mtu) { function interface_configure($interface = 'wan', $reloadall = false, $linkupevent = false) { global $config; - global $interface_sn_arr_cache, $interface_ip_arr_cache; + global $interface_sn_arr_cache; global $interface_snv6_arr_cache, $interface_ipv6_arr_cache; $wancfg = $config['interfaces'][$interface]; @@ -2956,7 +2956,6 @@ function interface_configure($interface = 'wan', $reloadall = false, $linkupeven } /* invalidate interface/ip/sn cache */ - unset($interface_ip_arr_cache[$realif]); unset($interface_sn_arr_cache[$realif]); unset($interface_ipv6_arr_cache[$realif]); unset($interface_snv6_arr_cache[$realif]); @@ -4501,29 +4500,16 @@ function link_interface_to_gif($interface) /* * find_interface_ip($interface): return the interface ip (first found) */ -function find_interface_ip($interface, $flush = false) { - global $interface_ip_arr_cache; - - if (!isset($interface_ip_arr_cache) || !is_array($interface_ip_arr_cache)) { - $interface_ip_arr_cache = array() ; - } - - $interface = str_replace("\n", "", $interface); - - if (!does_interface_exist($interface)) - return; - - /* Setup IP cache */ - if (!isset($interface_ip_arr_cache[$interface]) or $flush) { - $ifinfo = pfSense_get_interface_addresses($interface); - if (isset($ifinfo['ipaddr'])) { - $interface_ip_arr_cache[$interface] = $ifinfo['ipaddr']; - } else { - return null; +function find_interface_ip($interface) { + $interface = trim($interface); + if (does_interface_exist($interface)) { + $ifinfo = pfSense_get_interface_addresses($interface); + if (isset($ifinfo['ipaddr'])) { + return $ifinfo['ipaddr']; + } + } else { + return null; } - } - - return $interface_ip_arr_cache[$interface]; } /* diff --git a/src/etc/rc.newwanip b/src/etc/rc.newwanip index 342022fa8..e1d07fc8e 100755 --- a/src/etc/rc.newwanip +++ b/src/etc/rc.newwanip @@ -76,7 +76,7 @@ if (is_array($config['interfaces'][$interface]) && !isset($config['interfaces'][ if (empty($argument)) { $curwanip = get_interface_ip(); } else { - $curwanip = find_interface_ip($interface_real, true); + $curwanip = find_interface_ip($interface_real); if(empty($curwanip)) { $curwanip = get_interface_ip($interface); } diff --git a/src/www/carp_status.php b/src/www/carp_status.php index 7eab0f46d..6ac92328b 100644 --- a/src/www/carp_status.php +++ b/src/www/carp_status.php @@ -51,9 +51,7 @@ function interfaces_carp_set_maintenancemode($carp_maintenancemode) } -unset($interface_arr_cache); unset($carp_interface_count_cache); -unset($interface_ip_arr_cache); $status = get_carp_status(); if ($_POST['carp_maintenancemode'] <> "") {