From f7f9f099818f0d5fd30152625b1b941dcad22c8b Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 9 Apr 2012 21:19:14 -0700 Subject: Use Interface.pm to find interface state Bug 8006 Use standard module to check for interface state. --- scripts/vyatta-show-interfaces.pl | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/scripts/vyatta-show-interfaces.pl b/scripts/vyatta-show-interfaces.pl index 5a56050..36428cb 100755 --- a/scripts/vyatta-show-interfaces.pl +++ b/scripts/vyatta-show-interfaces.pl @@ -119,18 +119,14 @@ sub get_ipaddr { } sub get_state_link { - my $intf = shift; + my $name = shift; + my $intf = new Vyatta::Interface($name); my $state; my $link = 'down'; - my $flags = get_sysfs_value($intf, 'flags'); - my $hex_flags = hex($flags); - if ($hex_flags & 0x1) { # IFF_UP + if ($intf->up()) { $state = 'up'; - my $carrier = get_sysfs_value($intf, 'carrier'); - if ($carrier eq '1') { - $link = "up"; - } + $link = "up" if ($intf->running()); } else { $state = "admin down"; } -- cgit v1.2.3