From 9b94d2f2f6536e9c39fac82cc30cd965b3f6b5e3 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Thu, 28 Apr 2016 16:10:15 +0200 Subject: [PATCH] interfaces: port status-only probe --- src/etc/inc/interfaces.inc | 17 ++++++++--------- src/etc/inc/util.inc | 6 ++---- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index 85b331a30..1e574c947 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -2701,8 +2701,8 @@ EOD; /* find which clones are up and bring them down */ $clones_up = array(); foreach ($clone_list as $clone_if) { - $clone_status = pfSense_get_interface_addresses($clone_if); - if ($clone_status['status'] == 'up') { + $clone_status = legacy_interface_stats($clone_if); + if ($clone_status['link state'] == '2') { $clones_up[] = $clone_if; mwexec("{$ifconfig} " . escapeshellarg($clone_if) . " down"); } @@ -5097,20 +5097,19 @@ function get_interface_info($ifdescr) $chkif = $ifinfo['if']; $ifinfotmp = pfSense_get_interface_addresses($chkif); - $ifinfo['status'] = $ifinfotmp['status']; - if (empty($ifinfo['status'])) { - $ifinfo['status'] = 'down'; - } $ifinfo['macaddr'] = $ifinfotmp['macaddr']; $ifinfo['ipaddr'] = $ifinfotmp['ipaddr']; $ifinfo['subnet'] = $ifinfotmp['subnet']; - $ifinfo['linklocal'] = get_interface_linklocal($ifdescr); - $ifinfo['ipaddrv6'] = get_interface_ipv6($ifdescr); - $ifinfo['subnetv6'] = get_interface_subnetv6($ifdescr); if (isset($ifinfotmp['link0'])) { $link0 = 'down'; } + + $ifinfo['linklocal'] = get_interface_linklocal($ifdescr); + $ifinfo['ipaddrv6'] = get_interface_ipv6($ifdescr); + $ifinfo['subnetv6'] = get_interface_subnetv6($ifdescr); + $ifinfotmp = legacy_interface_stats($chkif); + $ifinfo['status'] = $ifinfotmp['link state'] == '2' ? 'up' : 'down'; $ifinfo['inerrs'] = $ifinfotmp['input errors']; $ifinfo['outerrs'] = $ifinfotmp['output errors']; $ifinfo['collisions'] = $ifinfotmp['collisions']; diff --git a/src/etc/inc/util.inc b/src/etc/inc/util.inc index 47fbce7e3..f90546ae3 100644 --- a/src/etc/inc/util.inc +++ b/src/etc/inc/util.inc @@ -902,10 +902,8 @@ function get_interface_list($only_active = false) foreach ($ifnames as $ifname) { $ifinfo = legacy_interface_stats($ifname); - if (isset($ifinfo['link state'])) { - if ($ifinfo['link state'] == '2') { - $_ifnames[] = $ifname; - } + if ($ifinfo['link state'] == '2') { + $_ifnames[] = $ifname; } }