From 7c6df7cce3a9b741200e81a634edc13e287eebe1 Mon Sep 17 00:00:00 2001 From: "Eric A. Miller" Date: Tue, 1 Oct 2013 21:42:09 -0400 Subject: [PATCH] [#64] Add i_speed_admin() to L2::2900 (psychiatric) --- ChangeLog | 2 +- Info/Layer2/C2900.pm | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 997126d9..53541dce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,7 +5,7 @@ version 3.08 () [ENHANCEMENTS] * [#66] Support for VSS via CISCO-VIRTUAL-SWITCH-MIB in L3::6500 - + * [#64] Add i_speed_admin() to L2::2900 (psychiatric) version 3.07 (2013-10-01) diff --git a/Info/Layer2/C2900.pm b/Info/Layer2/C2900.pm index 12770468..357075e0 100644 --- a/Info/Layer2/C2900.pm +++ b/Info/Layer2/C2900.pm @@ -139,6 +139,32 @@ sub i_duplex_admin { return \%i_duplex_admin; } +sub i_speed_admin { + my $c2900 = shift; + my $partial = shift; + + my %i_speed_admin; + my $p_port = $c2900->p_port() || {}; + my $interfaces = $c2900->interfaces($partial); + my $c2900_p_index = $c2900->c2900_p_index() || {}; + + my %reverse_2900 = reverse %$c2900_p_index; + my $c2900_p_speed + = $c2900->c2900_p_speed_admin( $reverse_2900{$partial} ); + + my %speeds = ( + 'autoDetect' => 'auto', + 's10000000' => '10 Mbps', + 's100000000' => '100 Mbps', + ); + + %i_speed_admin + = map { $c2900_p_index->{$_} => $speeds{ $c2900_p_speed->{$_} } } + keys %$c2900_p_index; + + return \%i_speed_admin; +} + sub set_i_speed_admin { my $c2900 = shift; my ( $speed, $iid ) = @_; @@ -349,6 +375,10 @@ Returns reference to hash of IIDs to admin duplex setting Crosses $c2900->c2900_p_index() with $c2900->c2900_p_duplex_admin() +=item $c2900->i_speed_admin() + +Returns reference to hash of IIDs to admin speed setting. + =back =head2 F Port Entry Table