summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/vyatta-show-interfaces.pl12
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";
}