diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/vyatta-show-interfaces.pl | 12 |
1 files 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"; } |