From 082b566d0fe90ba389e5d2589197bcc69eb92895 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Thu, 11 Jul 2019 18:44:43 +0200 Subject: [PATCH] interfaces: performance for https://github.com/opnsense/core/issues/3567 * interfaces_addresses() only request single interface data when there's only one interface requested * interface_configure() mtu check only needs a specific interface, don't request all --- src/etc/inc/interfaces.inc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index d2b50f17c..f844ab00e 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -2511,12 +2511,12 @@ function interface_configure($verbose = false, $interface = 'wan', $reload = fal } } - $intf_stats = legacy_interface_stats(); if (!empty($wancfg['mtu'])) { + $intf_stats = legacy_interface_stats($realhwif); if (stristr($realif, "_vlan")) { // max mtu to parent - $mtu = $wancfg['mtu'] < $intf_stats[$realhwif]['mtu'] ? $wancfg['mtu'] : $intf_stats[$realhwif]['mtu']; - if ($mtu != $intf_stats[$realif]['mtu']) { + $mtu = $wancfg['mtu'] < $intf_stats['mtu'] ? $wancfg['mtu'] : $intf_stats['mtu']; + if ($mtu != $intf_stats['mtu']) { legacy_interface_mtu($realif, $mtu); } } elseif ($wancfg['mtu'] != $intf_stats['mtu']) { @@ -4521,8 +4521,9 @@ function interfaces_addresses($interfaces, $as_subnet = false) return $result; } - $intf_details = legacy_interfaces_details(); + $realifs = array_unique($realifs); + $intf_details = count($realifs) > 1 ? legacy_interfaces_details() : legacy_interfaces_details($realifs[0]); foreach ($realifs as $realif) { foreach (array('ipv4', 'ipv6') as $proto) {