summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/vyatta-op-dynamic-dns.pl9
-rwxr-xr-xscripts/vyatta-show-interfaces.pl20
2 files changed, 27 insertions, 2 deletions
diff --git a/scripts/vyatta-op-dynamic-dns.pl b/scripts/vyatta-op-dynamic-dns.pl
index d1197c2..3d24c38 100644
--- a/scripts/vyatta-op-dynamic-dns.pl
+++ b/scripts/vyatta-op-dynamic-dns.pl
@@ -35,12 +35,15 @@ sub print_ddns_stats {
if (@ddns_interfaces > 0){
foreach my $configuredinterface (@ddns_interfaces) {
+ my $no_interface = `ip addr show dev $configuredinterface 2>/dev/null`;
my $no_ip = `ip addr show dev $configuredinterface 2>/dev/null | grep "inet "`;
my @all_cached_entries = `grep "^atime" $ddclient_cache_dir/ddclient_$configuredinterface.cache 2>/dev/null`;
if (@all_cached_entries > 0) {
foreach my $each_entry (@all_cached_entries) {
print "interface : $configuredinterface";
- if ($no_ip eq ""){
+ if ($no_interface eq ""){
+ print " [ Interface does not exist ]";
+ } elsif ($no_ip eq ""){
print " [ Currently no IP address ]";
}
print "\n";
@@ -63,7 +66,9 @@ sub print_ddns_stats {
}
} else {
print "interface : $configuredinterface";
- if ($no_ip eq ""){
+ if ($no_interface eq ""){
+ print " [ Interface does not exist ]";
+ } elsif ($no_ip eq ""){
print " [ Currently no IP address ]";
} else {
print " \n[ Status will be updated within 60 seconds ]";
diff --git a/scripts/vyatta-show-interfaces.pl b/scripts/vyatta-show-interfaces.pl
index 02ad8e0..529684f 100755
--- a/scripts/vyatta-show-interfaces.pl
+++ b/scripts/vyatta-show-interfaces.pl
@@ -56,6 +56,7 @@ my %intf_hash = (
my %action_hash = (
'show' => \&run_show_intf,
'show-brief' => \&run_show_intf_brief,
+ 'show-count' => \&run_show_counters,
'clear' => \&run_clear_intf,
'reset' => \&run_reset_intf,
);
@@ -312,6 +313,25 @@ sub run_show_intf_brief {
}
}
+sub run_show_counters {
+ my @intfs = @_;
+
+ my $format = "%-12s %10s %10s %10s %10s\n";
+ printf($format, "Interface","Rx Packets","Rx Bytes","Tx Packets","Tx Bytes");
+ foreach my $intf (@intfs) {
+ my ($state, $link) = get_state_link($intf);
+ next if $state ne 'up';
+ my %clear = get_clear_stats($intf);
+ my %stats = get_intf_stats($intf);
+ printf($format, $intf,
+ get_counter_val($clear{rx_packets}, $stats{rx_packets}),
+ get_counter_val($clear{rx_bytes}, $stats{rx_bytes}),
+ get_counter_val($clear{tx_packets}, $stats{tx_packets}),
+ get_counter_val($clear{tx_bytes}, $stats{tx_bytes})
+ );
+ }
+}
+
sub run_clear_intf {
my @intfs = @_;