From d9c87bdfbd24e1109607ed22e4e5ae88982e91f6 Mon Sep 17 00:00:00 2001 From: Eric Miller <> Date: Sun, 15 Apr 2007 02:44:14 +0000 Subject: [PATCH] - Modify inheritance to use Cisco classes before generic classes - [ 1670428 ] add CiscoConfig inheritance - Remove globs which shouldn't be needed with new inheritance chain - Add CiscoPortSecurity inheritance so we can remove port security from CiscoStack - POD updates --- Info/Layer2/C1900.pm | 36 +++++++--- Info/Layer2/C2900.pm | 56 +++++++++++----- Info/Layer2/Catalyst.pm | 40 ++++++++--- Info/Layer2/Cisco.pm | 138 ++++++++++++++++++++++++-------------- Info/Layer3/C3550.pm | 95 +++++++++++++++----------- Info/Layer3/C4000.pm | 136 +++++++++++++++++++++++-------------- Info/Layer3/C6500.pm | 144 +++++++++++++++++++++++++--------------- Info/Layer3/Cisco.pm | 140 ++++++++++++++++++++++++-------------- 8 files changed, 507 insertions(+), 278 deletions(-) diff --git a/Info/Layer2/C1900.pm b/Info/Layer2/C1900.pm index c44717e3..3dcb74d7 100644 --- a/Info/Layer2/C1900.pm +++ b/Info/Layer2/C1900.pm @@ -39,16 +39,18 @@ use Exporter; use SNMP::Info::CiscoVTP; use SNMP::Info::CDP; use SNMP::Info::CiscoStats; +use SNMP::Info::CiscoConfig; use SNMP::Info::Layer2; @SNMP::Info::Layer2::C1900::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP - SNMP::Info::CiscoStats SNMP::Info::Layer2 Exporter/; + SNMP::Info::CiscoStats SNMP::Info::CiscoConfig SNMP::Info::Layer2 Exporter/; @SNMP::Info::Layer2::C1900::EXPORT_OK = qw//; use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/; %GLOBALS = ( %SNMP::Info::Layer2::GLOBALS, + %SNMP::Info::CiscoConfig::GLOBALS, %SNMP::Info::CiscoStats::GLOBALS, %SNMP::Info::CDP::GLOBALS, %SNMP::Info::CiscoVTP::GLOBALS, @@ -57,6 +59,7 @@ use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/; %FUNCS = ( %SNMP::Info::Layer2::FUNCS, + %SNMP::Info::CiscoConfig::FUNCS, %SNMP::Info::CiscoStats::FUNCS, %SNMP::Info::CDP::FUNCS, %SNMP::Info::CiscoVTP::FUNCS, @@ -73,6 +76,7 @@ use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/; %MIBS = ( %SNMP::Info::Layer2::MIBS, + %SNMP::Info::CiscoConfig::MIBS, %SNMP::Info::CiscoStats::MIBS, %SNMP::Info::CDP::MIBS, %SNMP::Info::CiscoVTP::MIBS, @@ -81,8 +85,11 @@ use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/; ); %MUNGE = ( - %SNMP::Info::Layer2::MUNGE, %SNMP::Info::CiscoStats::MUNGE, - %SNMP::Info::CDP::MUNGE, %SNMP::Info::CiscoVTP::MUNGE, + %SNMP::Info::Layer2::MUNGE, + %SNMP::Info::CiscoConfig::MUNGE, + %SNMP::Info::CiscoStats::MUNGE, + %SNMP::Info::CDP::MUNGE, + %SNMP::Info::CiscoVTP::MUNGE, ); sub bulkwalk_no { 1; } @@ -225,7 +232,8 @@ __END__ =head1 NAME -SNMP::Info::Layer2::C1900 - SNMP Interface to data from Cisco Catlyst 1900 Network Switches running CatOS +SNMP::Info::Layer2::C1900 - SNMP Interface to data from Cisco Catlyst 1900 +Network Switches running CatOS =head1 AUTHOR @@ -249,13 +257,13 @@ Max Baker =head1 DESCRIPTION -Provides abstraction to the configuration information obtainable from a Catalyst 1900 device through SNMP. -See SNMP::Info for full documentation +Provides abstraction to the configuration information obtainable from a +Catalyst 1900 device through SNMP. See SNMP::Info for full documentation Note that most of these devices only talk SNMP version 1, but not all. -For speed or debugging purposes you can call the subclass directly, but not after determining -a more specific class using the method above. +For speed or debugging purposes you can call the subclass directly, but not +after determining a more specific class using the method above. my $c1900 = new SNMP::Info::Layer2::C1900(...); @@ -269,6 +277,8 @@ a more specific class using the method above. =item SNMP::Info::CiscoStats +=item SNMP::Info::CiscoConfig + =item SNMP::Info::Layer2 =back @@ -293,6 +303,8 @@ See L for its MIB requirements. See L for its MIB requirements. +See L for its MIB requirements. + See L for its MIB requirements. =head1 GLOBALS @@ -347,6 +359,10 @@ See L for details. See L for details. +=head2 Globals imported from SNMP::Info::CiscoConfig + +See L for details. + =head2 Globals imported from SNMP::Info::Layer2 See L for details. @@ -442,6 +458,10 @@ See L for details. See L for details. +=head2 Table Methods imported from SNMP::Info::CiscoConfig + +See L for details. + =head2 Table Methods imported from SNMP::Info::Layer2 See L for details. diff --git a/Info/Layer2/C2900.pm b/Info/Layer2/C2900.pm index 2a4cdfee..ea497215 100644 --- a/Info/Layer2/C2900.pm +++ b/Info/Layer2/C2900.pm @@ -38,23 +38,27 @@ use Exporter; use SNMP::Info::CiscoVTP; use SNMP::Info::CDP; use SNMP::Info::CiscoStats; +use SNMP::Info::CiscoConfig; use SNMP::Info::Layer2; @SNMP::Info::Layer2::C2900::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP - SNMP::Info::CiscoStats SNMP::Info::Layer2 Exporter/; + SNMP::Info::CiscoStats SNMP::Info::CiscoConfig + SNMP::Info::Layer2 Exporter/; @SNMP::Info::Layer2::C2900::EXPORT_OK = qw//; use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/; -# Set for No CDP %GLOBALS = ( %SNMP::Info::Layer2::GLOBALS, + %SNMP::Info::CiscoConfig::GLOBALS, %SNMP::Info::CiscoStats::GLOBALS, %SNMP::Info::CDP::GLOBALS, %SNMP::Info::CiscoVTP::GLOBALS, ); -%FUNCS = (%SNMP::Info::Layer2::FUNCS, +%FUNCS = ( + %SNMP::Info::Layer2::FUNCS, + %SNMP::Info::CiscoConfig::FUNCS, %SNMP::Info::CiscoStats::FUNCS, %SNMP::Info::CDP::FUNCS, %SNMP::Info::CiscoVTP::FUNCS, @@ -66,14 +70,18 @@ use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/; 'c2900_p_speed_admin' => 'c2900PortAdminSpeed', ); -%MIBS = ( %SNMP::Info::Layer2::MIBS, - %SNMP::Info::CiscoStats::MIBS, - %SNMP::Info::CDP::MIBS, - %SNMP::Info::CiscoVTP::MIBS, +%MIBS = ( + %SNMP::Info::Layer2::MIBS, + %SNMP::Info::CiscoConfig::MIBS, + %SNMP::Info::CiscoStats::MIBS, + %SNMP::Info::CDP::MIBS, + %SNMP::Info::CiscoVTP::MIBS, 'CISCO-C2900-MIB' => 'ciscoC2900MIB', ); -%MUNGE = (%SNMP::Info::Layer2::MUNGE, +%MUNGE = ( + %SNMP::Info::Layer2::MUNGE, + %SNMP::Info::CiscoConfig::MUNGE, %SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CDP::MUNGE, %SNMP::Info::CiscoVTP::MUNGE, @@ -213,12 +221,12 @@ Max Baker # Let SNMP::Info determine the correct subclass for you. my $c2900 = new SNMP::Info( - AutoSpecify => 1, - Debug => 1, - # These arguments are passed directly on to SNMP::Session - DestHost => 'myswitch', - Community => 'public', - Version => 2 + AutoSpecify => 1, + Debug => 1, + # These arguments are passed directly to SNMP::Session + DestHost => 'myswitch', + Community => 'public', + Version => 2 ) or die "Can't connect to DestHost.\n"; @@ -245,6 +253,8 @@ after determining a more specific class using the method above. =item SNMP::Info::CiscoStats +=item SNMP::Info::CiscoConfig + =item SNMP::Info::Layer2 =back @@ -261,13 +271,15 @@ Part of the v2 MIBs from Cisco. =head2 Inherited MIBs -See L for its own MIB requirements. +See L for its MIB requirements. -See L for its own MIB requirements. +See L for its MIB requirements. -See L for its own MIB requirements. +See L for its MIB requirements. -See L for its own MIB requirements. +See L for its MIB requirements. + +See L for its MIB requirements. =head1 GLOBALS @@ -295,6 +307,10 @@ See L for details. See L for details. +=head2 Globals imported from SNMP::Info::CiscoConfig + +See L for details. + =head2 Globals imported from SNMP::Info::Layer2 See L for details. @@ -376,6 +392,10 @@ See L for details. See L for details. +=head2 Table Methods imported from SNMP::Info::CiscoConfig + +See L for details. + =head2 Table Methods imported from SNMP::Info::Layer2 See L for details. diff --git a/Info/Layer2/Catalyst.pm b/Info/Layer2/Catalyst.pm index 17a74046..21f0c33a 100644 --- a/Info/Layer2/Catalyst.pm +++ b/Info/Layer2/Catalyst.pm @@ -39,23 +39,28 @@ use SNMP::Info::CiscoStack; use SNMP::Info::CiscoVTP; use SNMP::Info::CDP; use SNMP::Info::CiscoStats; +use SNMP::Info::CiscoPortSecurity; use SNMP::Info::Layer2; use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; @SNMP::Info::Layer2::Catalyst::ISA = qw/SNMP::Info::CiscoStack SNMP::Info::CiscoVTP SNMP::Info::CDP SNMP::Info::CiscoStats + SNMP::Info::CiscoPortSecurity SNMP::Info::Layer2 Exporter/; @SNMP::Info::Layer2::Catalyst::EXPORT_OK = qw//; -%MIBS = ( %SNMP::Info::Layer2::MIBS, - %SNMP::Info::CiscoStats::MIBS, - %SNMP::Info::CDP::MIBS, - %SNMP::Info::CiscoVTP::MIBS, - %SNMP::Info::CiscoStack::MIBS, - ); +%MIBS = ( + %SNMP::Info::Layer2::MIBS, + %SNMP::Info::CiscoPortSecurity::MIBS, + %SNMP::Info::CiscoStats::MIBS, + %SNMP::Info::CDP::MIBS, + %SNMP::Info::CiscoVTP::MIBS, + %SNMP::Info::CiscoStack::MIBS, + ); %GLOBALS = ( %SNMP::Info::Layer2::GLOBALS, + %SNMP::Info::CiscoPortSecurity::GLOBALS, %SNMP::Info::CiscoStats::GLOBALS, %SNMP::Info::CDP::GLOBALS, %SNMP::Info::CiscoVTP::GLOBALS, @@ -64,6 +69,7 @@ use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; %FUNCS = ( %SNMP::Info::Layer2::FUNCS, + %SNMP::Info::CiscoPortSecurity::FUNCS, %SNMP::Info::CiscoStats::FUNCS, %SNMP::Info::CDP::FUNCS, %SNMP::Info::CiscoVTP::FUNCS, @@ -72,6 +78,7 @@ use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; %MUNGE = ( %SNMP::Info::Layer2::MUNGE, + %SNMP::Info::CiscoPortSecurity::MUNGE, %SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CDP::MUNGE, %SNMP::Info::CiscoVTP::MUNGE, @@ -199,6 +206,8 @@ after determining a more specific class using the method above. =item SNMP::Info::CiscoStats +=item SNMP::Info::CiscoPortSecurity + =item SNMP::Info::Layer2 =back @@ -217,6 +226,8 @@ See L for its own MIB requirements. See L for its own MIB requirements. +See L for its own MIB requirements. + See L for its own MIB requirements. =back @@ -260,6 +271,10 @@ See documentation in L for details. See documentation in L for details. +=head2 Global Methods imported from SNMP::Info::CiscoPortSecurity + +See documentation in L for details. + =head2 Globals imported from SNMP::Info::Layer2 See documentation in L for details. @@ -283,10 +298,9 @@ problems with BRIDGE-MIB =back -=head2 Table Methods imported from SNMP::Info::Layer2::CiscoStack +=head2 Table Methods imported from SNMP::Info::CiscoStack -See documentation in L for -details. +See documentation in L for details. =head2 Table Methods imported from SNMP::Info::CiscoVTP @@ -296,9 +310,13 @@ See documentation in L for details. See documentation in L for details. -=head2 Table Methods imported from SNMP::Info::Layer2::CiscoStats +=head2 Table Methods imported from SNMP::Info::CiscoStats -See documentation in L for +See documentation in L for details. + +=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity + +See documentation in L for details. =head2 Table Methods imported from SNMP::Info::Layer2 diff --git a/Info/Layer2/Cisco.pm b/Info/Layer2/Cisco.pm index 748f9b26..b24c2d9d 100644 --- a/Info/Layer2/Cisco.pm +++ b/Info/Layer2/Cisco.pm @@ -32,60 +32,66 @@ package SNMP::Info::Layer2::Cisco; use strict; use Exporter; -use SNMP::Info::Layer2; use SNMP::Info::CiscoVTP; use SNMP::Info::CDP; use SNMP::Info::CiscoStats; use SNMP::Info::CiscoImage; use SNMP::Info::CiscoRTT; use SNMP::Info::CiscoQOS; +use SNMP::Info::CiscoConfig; +use SNMP::Info::Layer2; use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; -$VERSION = 1.04; -@SNMP::Info::Layer2::Cisco::ISA = qw/SNMP::Info::Layer2 SNMP::Info::CiscoVTP - SNMP::Info::CDP SNMP::Info::CiscoStats - SNMP::Info::CiscoImage SNMP::Info::CiscoRTT - SNMP::Info::CiscoQOS Exporter/; +$VERSION = 1.05; +@SNMP::Info::Layer2::Cisco::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP + SNMP::Info::CiscoStats SNMP::Info::CiscoImage + SNMP::Info::CiscoRTT SNMP::Info::CiscoQOS + SNMP::Info::CiscoConfig SNMP::Info::Layer2 + Exporter/; @SNMP::Info::Layer2::Cisco::EXPORT_OK = qw//; %MIBS = ( %SNMP::Info::Layer2::MIBS, - %SNMP::Info::CiscoVTP::MIBS, - %SNMP::Info::CDP::MIBS, - %SNMP::Info::CiscoStats::MIBS, - %SNMP::Info::CiscoImage::MIBS, - %SNMP::Info::CiscoRTT::MIBS, + %SNMP::Info::CiscoConfig::MIBS, %SNMP::Info::CiscoQOS::MIBS, + %SNMP::Info::CiscoRTT::MIBS, + %SNMP::Info::CiscoImage::MIBS, + %SNMP::Info::CiscoStats::MIBS, + %SNMP::Info::CDP::MIBS, + %SNMP::Info::CiscoVTP::MIBS, ); %GLOBALS = ( - %SNMP::Info::Layer2::GLOBALS, - %SNMP::Info::CiscoVTP::GLOBALS, - %SNMP::Info::CDP::GLOBALS, - %SNMP::Info::CiscoStats::GLOBALS, - %SNMP::Info::CiscoImage::GLOBALS, - %SNMP::Info::CiscoRTT::GLOBALS, + %SNMP::Info::Layer2::GLOBALS, + %SNMP::Info::CiscoConfig::GLOBALS, %SNMP::Info::CiscoQOS::GLOBALS, + %SNMP::Info::CiscoRTT::GLOBALS, + %SNMP::Info::CiscoImage::GLOBALS, + %SNMP::Info::CiscoStats::GLOBALS, + %SNMP::Info::CDP::GLOBALS, + %SNMP::Info::CiscoVTP::GLOBALS, ); %FUNCS = ( - %SNMP::Info::Layer2::FUNCS, - %SNMP::Info::CiscoVTP::FUNCS, - %SNMP::Info::CDP::FUNCS, - %SNMP::Info::CiscoStats::FUNCS, - %SNMP::Info::CiscoImage::FUNCS, - %SNMP::Info::CiscoRTT::FUNCS, + %SNMP::Info::Layer2::FUNCS, + %SNMP::Info::CiscoConfig::FUNCS, %SNMP::Info::CiscoQOS::FUNCS, + %SNMP::Info::CiscoRTT::FUNCS, + %SNMP::Info::CiscoImage::FUNCS, + %SNMP::Info::CiscoStats::FUNCS, + %SNMP::Info::CDP::FUNCS, + %SNMP::Info::CiscoVTP::FUNCS, ); %MUNGE = ( - %SNMP::Info::Layer2::MUNGE, - %SNMP::Info::CiscoVTP::MUNGE, - %SNMP::Info::CDP::MUNGE, - %SNMP::Info::CiscoStats::MUNGE, - %SNMP::Info::CiscoImage::MUNGE, - %SNMP::Info::CiscoRTT::MUNGE, + %SNMP::Info::Layer2::MUNGE, + %SNMP::Info::CiscoConfig::MUNGE, %SNMP::Info::CiscoQOS::MUNGE, + %SNMP::Info::CiscoRTT::MUNGE, + %SNMP::Info::CiscoImage::MUNGE, + %SNMP::Info::CiscoStats::MUNGE, + %SNMP::Info::CDP::MUNGE, + %SNMP::Info::CiscoVTP::MUNGE, ); 1; @@ -93,7 +99,7 @@ __END__ =head1 NAME -SNMP::Info::Layer2::Cisco - Perl5 Interface to L3 and L2+L3 IOS Cisco Device +SNMP::Info::Layer2::Cisco - SNMP Interface to L3 and L2+L3 IOS Cisco Device that are not covered in other classes. =head1 AUTHOR @@ -104,12 +110,12 @@ Max Baker # Let SNMP::Info determine the correct subclass for you. my $cisco = new SNMP::Info( - AutoSpecify => 1, - Debug => 1, - # These arguments are passed directly on to SNMP::Session - DestHost => 'myswitch', - Community => 'public', - Version => 2 + AutoSpecify => 1, + Debug => 1, + # These arguments are passed directly to SNMP::Session + DestHost => 'myswitch', + Community => 'public', + Version => 2 ) or die "Can't connect to DestHost.\n"; @@ -124,8 +130,6 @@ Subclass for Generic Cisco Routers running IOS =over -=item SNMP::Info::Layer2 - =item SNMP::Info::CiscoVTP =item SNMP::Info::CDP @@ -134,6 +138,14 @@ Subclass for Generic Cisco Routers running IOS =item SNMP::Info::CiscoImage +=item SNMP::Info::CiscoRTT + +=item SNMP::Info::CiscoQOS + +=item SNMP::Info::CiscoConfig + +=item SNMP::Info::Layer2 + =back =head2 Required MIBs @@ -142,8 +154,6 @@ Subclass for Generic Cisco Routers running IOS =item Inherited Classes' MIBs -See L for its own MIB requirements. - See L for its own MIB requirements. See L for its own MIB requirements. @@ -152,6 +162,14 @@ See L for its own MIB requirements. See L for its own MIB requirements. +See L for its own MIB requirements. + +See L for its own MIB requirements. + +See L for its own MIB requirements. + +See L for its own MIB requirements. + =back =head1 GLOBALS @@ -166,10 +184,6 @@ These are methods that return scalar value from SNMP =back -=head2 Globals imported from SNMP::Info::Layer2 - -See documentation in L for details. - =head2 Global Methods imported from SNMP::Info::CiscoVTP See documentation in L for details. @@ -186,15 +200,27 @@ See documentation in L for details. See documentation in L for details. +=head2 Globals imported from SNMP::Info::CiscoRTT + +See documentation in L for details. + +=head2 Globals imported from SNMP::Info::CiscoQOS + +See documentation in L for details. + +=head2 Globals imported from SNMP::Info::CiscoConfig + +See documentation in L for details. + +=head2 Globals imported from SNMP::Info::Layer2 + +See documentation in L for details. + =head1 TABLE METHODS These are methods that return tables of information in the form of a reference to a hash. -=head2 Table Methods imported from SNMP::Info::Layer2 - -See documentation in L for details. - =head2 Table Methods imported from SNMP::Info::CiscoVTP See documentation in L for details. @@ -211,4 +237,20 @@ See documentation in L for details. See documentation in L for details. +=head2 Table Methods imported from SNMP::Info::CiscoRTT + +See documentation in L for details. + +=head2 Table Methods imported from SNMP::Info::CiscoQOS + +See documentation in L for details. + +=head2 Table Methods imported from SNMP::Info::CiscoConfig + +See documentation in L for details. + +=head2 Table Methods imported from SNMP::Info::Layer2 + +See documentation in L for details. + =cut diff --git a/Info/Layer3/C3550.pm b/Info/Layer3/C3550.pm index 36f98b24..f44a0ef5 100644 --- a/Info/Layer3/C3550.pm +++ b/Info/Layer3/C3550.pm @@ -29,71 +29,74 @@ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. package SNMP::Info::Layer3::C3550; -$VERSION = '1.04'; +$VERSION = '1.05'; # $Id$ use strict; use Exporter; -use SNMP::Info::Layer3; use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoStack; use SNMP::Info::CDP; use SNMP::Info::CiscoStats; use SNMP::Info::CiscoImage; +use SNMP::Info::CiscoPortSecurity; +use SNMP::Info::Layer3; use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; -@SNMP::Info::Layer3::C3550::ISA = qw/SNMP::Info::Layer3 SNMP::Info::CiscoStack SNMP::Info::CiscoVTP - SNMP::Info::CiscoStats SNMP::Info::CDP Exporter - SNMP::Info::CiscoImage/; +@SNMP::Info::Layer3::C3550::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CiscoStack + SNMP::Info::CDP SNMP::Info::CiscoStats + SNMP::Info::CiscoPortSecurity + SNMP::Info::CiscoImage SNMP::Info::Layer3 + Exporter/; @SNMP::Info::Layer3::C3550::EXPORT_OK = qw//; %MIBS = ( - %SNMP::Info::Layer3::MIBS, - %SNMP::Info::CiscoVTP::MIBS, - %SNMP::Info::CiscoStack::MIBS, - %SNMP::Info::CDP::MIBS, - %SNMP::Info::CiscoStats::MIBS, + %SNMP::Info::Layer3::MIBS, + %SNMP::Info::CiscoPortSecurity::MIBS, %SNMP::Info::CiscoImage::MIBS, + %SNMP::Info::CiscoStats::MIBS, + %SNMP::Info::CDP::MIBS, + %SNMP::Info::CiscoStack::MIBS, + %SNMP::Info::CiscoVTP::MIBS, ); %GLOBALS = ( %SNMP::Info::Layer3::GLOBALS, - %SNMP::Info::CiscoVTP::GLOBALS, - %SNMP::Info::CiscoStack::GLOBALS, - %SNMP::Info::CDP::GLOBALS, - %SNMP::Info::CiscoStats::GLOBALS, + %SNMP::Info::CiscoPortSecurity::GLOBALS, %SNMP::Info::CiscoImage::GLOBALS, + %SNMP::Info::CiscoStats::GLOBALS, + %SNMP::Info::CDP::GLOBALS, + %SNMP::Info::CiscoStack::GLOBALS, + %SNMP::Info::CiscoVTP::GLOBALS, 'ports2' => 'ifNumber', ); %FUNCS = ( %SNMP::Info::Layer3::FUNCS, - %SNMP::Info::CiscoVTP::FUNCS, - %SNMP::Info::CiscoStack::FUNCS, - %SNMP::Info::CDP::FUNCS, - %SNMP::Info::CiscoStats::FUNCS, + %SNMP::Info::CiscoPortSecurity::FUNCS, %SNMP::Info::CiscoImage::FUNCS, + %SNMP::Info::CiscoStats::FUNCS, + %SNMP::Info::CDP::FUNCS, + %SNMP::Info::CiscoStack::FUNCS, + %SNMP::Info::CiscoVTP::FUNCS, ); %MUNGE = ( # Inherit all the built in munging %SNMP::Info::Layer3::MUNGE, - %SNMP::Info::CiscoVTP::MUNGE, - %SNMP::Info::CiscoStack::MUNGE, - %SNMP::Info::CDP::MUNGE, - %SNMP::Info::CiscoStats::MUNGE, + %SNMP::Info::CiscoPortSecurity::MUNGE, %SNMP::Info::CiscoImage::MUNGE, + %SNMP::Info::CiscoStats::MUNGE, + %SNMP::Info::CDP::MUNGE, + %SNMP::Info::CiscoStack::MUNGE, + %SNMP::Info::CiscoVTP::MUNGE, ); -# Pick and choose +# Override Inheritance for these specific methods -*SNMP::Info::Layer3::C3550::serial = \&SNMP::Info::CiscoStack::serial; *SNMP::Info::Layer3::C3550::interfaces = \&SNMP::Info::Layer3::interfaces; -*SNMP::Info::Layer3::C3550::i_duplex = \&SNMP::Info::CiscoStack::i_duplex; -*SNMP::Info::Layer3::C3550::i_duplex_admin = \&SNMP::Info::CiscoStack::i_duplex_admin; *SNMP::Info::Layer3::C3550::i_name = \&SNMP::Info::Layer3::i_name; -*SNMP::Info::Layer3::C3550::i_type = \&SNMP::Info::CiscoStack::i_type; sub vendor { return 'cisco'; @@ -130,13 +133,13 @@ sub cisco_comm_indexing { 1; } - 1; __END__ =head1 NAME -SNMP::Info::Layer3::C3550 - Perl5 Interface to Cisco Catalyst 3550 Layer 2/3 Switches running IOS +SNMP::Info::Layer3::C3550 - SNMP Interface to Cisco Catalyst 3550 Layer 2/3 +Switches running IOS =head1 AUTHOR @@ -146,12 +149,12 @@ Max Baker # Let SNMP::Info determine the correct subclass for you. my $c3550 = new SNMP::Info( - AutoSpecify => 1, - Debug => 1, - # These arguments are passed directly on to SNMP::Session - DestHost => 'myswitch', - Community => 'public', - Version => 2 + AutoSpecify => 1, + Debug => 1, + # These arguments are passed directly to SNMP::Session + DestHost => 'myswitch', + Community => 'public', + Version => 2 ) or die "Can't connect to DestHost.\n"; @@ -162,12 +165,12 @@ Max Baker Abstraction subclass for Cisco Catalyst 3550 Layer 2/3 Switches. -These devices run IOS but have some of the same charactersitics as the Catalyst WS-C family (5xxx,6xxx). -For example, forwarding tables are held in VLANs, and extened interface information -is gleened from CISCO-SWITCH-MIB. +These devices run IOS but have some of the same charactersitics as the +Catalyst WS-C family (5xxx,6xxx). For example, forwarding tables are held in +VLANs, and extened interface information is gleened from CISCO-SWITCH-MIB. -For speed or debugging purposes you can call the subclass directly, but not after determining -a more specific class using the method above. +For speed or debugging purposes you can call the subclass directly, but not +after determining a more specific class using the method above. my $c3550 = new SNMP::Info::Layer3::C3550(...); @@ -177,6 +180,8 @@ a more specific class using the method above. =item SNMP::Info::Layer3 +=item SNMP::Info::CiscoPortSecurity + =item SNMP::Info::CiscoVTP =item SNMP::Info::CiscoStack @@ -197,6 +202,8 @@ a more specific class using the method above. See L for its own MIB requirements. +See L for its own MIB requirements. + See L for its own MIB requirements. See L for its own MIB requirements. @@ -236,6 +243,10 @@ Trys to cull the number of ports from the model number. See documentation in L for details. +=head2 Globals imported from SNMP::Info::CiscoPortSecurity + +See documentation in L for details. + =head2 Global Methods imported from SNMP::Info::CiscoVTP See documentation in L for details. @@ -265,6 +276,10 @@ to a hash. See documentation in L for details. +=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity + +See documentation in L for details. + =head2 Table Methods imported from SNMP::Info::CiscoVTP See documentation in L for details. diff --git a/Info/Layer3/C4000.pm b/Info/Layer3/C4000.pm index 8559f292..38918241 100644 --- a/Info/Layer3/C4000.pm +++ b/Info/Layer3/C4000.pm @@ -33,37 +33,46 @@ package SNMP::Info::Layer3::C4000; use strict; use Exporter; -use SNMP::Info::Layer3; + use SNMP::Info::CiscoVTP; use SNMP::Info::CDP; use SNMP::Info::CiscoStats; use SNMP::Info::CiscoImage; +use SNMP::Info::CiscoPortSecurity; +use SNMP::Info::CiscoConfig; use SNMP::Info::MAU; +use SNMP::Info::Layer3; use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; -$VERSION = '1.04'; -@SNMP::Info::Layer3::C4000::ISA = qw/ SNMP::Info::Layer3 SNMP::Info::CiscoVTP - SNMP::Info::CiscoStats SNMP::Info::CDP - SNMP::Info::CiscoImage SNMP::Info::MAU Exporter/; +$VERSION = '1.05'; +@SNMP::Info::Layer3::C4000::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP + SNMP::Info::CiscoStats SNMP::Info::CiscoImage + SNMP::Info::CiscoPortSecurity + SNMP::Info::CiscoConfig SNMP::Info::MAU + SNMP::Info::Layer3 Exporter/; @SNMP::Info::Layer3::C4000::EXPORT_OK = qw//; -%MIBS = ( - %SNMP::Info::Layer3::MIBS, - %SNMP::Info::CiscoVTP::MIBS, - %SNMP::Info::CDP::MIBS, - %SNMP::Info::CiscoStats::MIBS, - %SNMP::Info::CiscoImage::MIBS, +%MIBS = ( + %SNMP::Info::Layer3::MIBS, %SNMP::Info::MAU::MIBS, + %SNMP::Info::CiscoConfig::MIBS, + %SNMP::Info::CiscoPortSecurity::MIBS, + %SNMP::Info::CiscoImage::MIBS, + %SNMP::Info::CiscoStats::MIBS, + %SNMP::Info::CDP::MIBS, + %SNMP::Info::CiscoVTP::MIBS, 'CISCO-ENVMON-MIB' => 'ciscoEnvMonMIB', ); %GLOBALS = ( %SNMP::Info::Layer3::GLOBALS, - %SNMP::Info::CiscoVTP::GLOBALS, - %SNMP::Info::CDP::GLOBALS, - %SNMP::Info::CiscoStats::GLOBALS, - %SNMP::Info::CiscoImage::GLOBALS, %SNMP::Info::MAU::GLOBALS, + %SNMP::Info::CiscoConfig::GLOBALS, + %SNMP::Info::CiscoPortSecurity::GLOBALS, + %SNMP::Info::CiscoImage::GLOBALS, + %SNMP::Info::CiscoStats::GLOBALS, + %SNMP::Info::CDP::GLOBALS, + %SNMP::Info::CiscoVTP::GLOBALS, 'ps1_type' => 'ciscoEnvMonSupplyStatusDescr.1', 'ps1_status' => 'ciscoEnvMonSupplyState.1', 'ps2_type' => 'ciscoEnvMonSupplyStatusDescr.2', @@ -72,24 +81,29 @@ $VERSION = '1.04'; %FUNCS = ( %SNMP::Info::Layer3::FUNCS, - %SNMP::Info::CiscoVTP::FUNCS, - %SNMP::Info::CDP::FUNCS, - %SNMP::Info::CiscoStats::FUNCS, - %SNMP::Info::CiscoImage::FUNCS, %SNMP::Info::MAU::FUNCS, + %SNMP::Info::CiscoConfig::FUNCS, + %SNMP::Info::CiscoPortSecurity::FUNCS, + %SNMP::Info::CiscoImage::FUNCS, + %SNMP::Info::CiscoStats::FUNCS, + %SNMP::Info::CDP::FUNCS, + %SNMP::Info::CiscoVTP::FUNCS, 'fan_state' => 'ciscoEnvMonFanState', 'fan_descr' => 'ciscoEnvMonFanStatusDescr', ); %MUNGE = ( %SNMP::Info::Layer3::MUNGE, - %SNMP::Info::CiscoVTP::MUNGE, - %SNMP::Info::CDP::MUNGE, - %SNMP::Info::CiscoStats::MUNGE, - %SNMP::Info::CiscoImage::MUNGE, %SNMP::Info::MAU::MUNGE, + %SNMP::Info::CiscoConfig::MUNGE, + %SNMP::Info::CiscoPortSecurity::MUNGE, + %SNMP::Info::CiscoImage::MUNGE, + %SNMP::Info::CiscoStats::MUNGE, + %SNMP::Info::CDP::MUNGE, + %SNMP::Info::CiscoVTP::MUNGE, ); +# Override Inheritance for these specific methods # use MAU-MIB for admin. duplex and admin. speed *SNMP::Info::Layer3::C4000::i_duplex_admin = \&SNMP::Info::MAU::mau_i_duplex_admin; *SNMP::Info::Layer3::C4000::i_speed_admin = \&SNMP::Info::MAU::mau_i_speed_admin; @@ -115,7 +129,8 @@ __END__ =head1 NAME -SNMP::Info::Layer3::C4000 - Perl5 Interface to Cisco Catalyst 4000 Layer 2/3 Switches running IOS +SNMP::Info::Layer3::C4000 - SNMP Interface to Cisco Catalyst 4000 Layer 2/3 +Switches running IOS =head1 AUTHOR @@ -125,12 +140,12 @@ Bill Fenner # Let SNMP::Info determine the correct subclass for you. my $c4000 = new SNMP::Info( - AutoSpecify => 1, - Debug => 1, - # These arguments are passed directly on to SNMP::Session - DestHost => 'myswitch', - Community => 'public', - Version => 2 + AutoSpecify => 1, + Debug => 1, + # These arguments are passed directly to SNMP::Session + DestHost => 'myswitch', + Community => 'public', + Version => 2 ) or die "Can't connect to DestHost.\n"; @@ -141,8 +156,8 @@ Bill Fenner Abstraction subclass for Cisco Catalyst 4000 Layer 2/3 Switches. -For speed or debugging purposes you can call the subclass directly, but not after determining -a more specific class using the method above. +For speed or debugging purposes you can call the subclass directly, but not +after determining a more specific class using the method above. my $c4000 = new SNMP::Info::Layer3::C4000(...); @@ -150,18 +165,22 @@ a more specific class using the method above. =over -=item SNMP::Info::Layer3 - =item SNMP::Info::CiscoVTP -=item SNMP::Info::CiscoStats - =item SNMP::Info::CDP +=item SNMP::Info::CiscoStats + =item SNMP::Info::CiscoImage +=item SNMP::Info::CiscoPortSecurity + +=item SNMP::Info::CiscoConfig + =item SNMP::Info::MAU +=item SNMP::Info::Layer3 + =back =head2 Required MIBs @@ -170,28 +189,28 @@ a more specific class using the method above. =item Inherited Classes' MIBs -See L for its own MIB requirements. - See L for its own MIB requirements. -See L for its own MIB requirements. - See L for its own MIB requirements. +See L for its own MIB requirements. + See L for its own MIB requirements. +See L for its own MIB requirements. + +See L for its own MIB requirements. + See L for its own MIB requirements. +See L for its own MIB requirements. + =back =head1 GLOBALS These are methods that return scalar value from SNMP -=head2 Globals imported from SNMP::Info::Layer3 - -See documentation in L for details. - =head2 Global Methods imported from SNMP::Info::CiscoVTP See documentation in L for details. @@ -208,19 +227,27 @@ See documentation in L for details. See documentation in L for details. +=head2 Globals imported from SNMP::Info::CiscoPortSecurity + +See documentation in L for details. + +=head2 Globals imported from SNMP::Info::CiscoConfig + +See documentation in L for details. + =head2 Globals imported from SNMP::Info::MAU See documentation in L for details. +=head2 Globals imported from SNMP::Info::Layer3 + +See documentation in L for details. + =head1 TABLE METHODS These are methods that return tables of information in the form of a reference to a hash. -=head2 Table Methods imported from SNMP::Info::Layer3 - -See documentation in L for details. - =head2 Table Methods imported from SNMP::Info::CiscoVTP See documentation in L for details. @@ -237,9 +264,20 @@ See documentation in L for details. See documentation in L for details. +=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity + +See documentation in L for details. + +=head2 Table Methods imported from SNMP::Info::CiscoConfig + +See documentation in L for details. + =head2 Table Methods imported from SNMP::Info::MAU See documentation in L for details. -=cut +=head2 Table Methods imported from SNMP::Info::Layer3 +See documentation in L for details. + +=cut diff --git a/Info/Layer3/C6500.pm b/Info/Layer3/C6500.pm index 51d4b867..fc09aaf0 100644 --- a/Info/Layer3/C6500.pm +++ b/Info/Layer3/C6500.pm @@ -33,64 +33,73 @@ package SNMP::Info::Layer3::C6500; use strict; use Exporter; -use SNMP::Info::Layer3; use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoStack; use SNMP::Info::CDP; use SNMP::Info::CiscoStats; use SNMP::Info::CiscoImage; +use SNMP::Info::CiscoPortSecurity; +use SNMP::Info::CiscoConfig; +use SNMP::Info::Layer3; use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; -$VERSION = '1.04'; -@SNMP::Info::Layer3::C6500::ISA = qw/ SNMP::Info::Layer3 SNMP::Info::CiscoStack SNMP::Info::CiscoVTP - SNMP::Info::CiscoStats SNMP::Info::CDP Exporter - SNMP::Info::CiscoImage/; +$VERSION = '1.05'; +@SNMP::Info::Layer3::C6500::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CiscoStack + SNMP::Info::CDP SNMP::Info::CiscoStats + SNMP::Info::CiscoImage + SNMP::Info::CiscoPortSecurity + SNMP::Info::CiscoConfig SNMP::Info::Layer3 + Exporter/; @SNMP::Info::Layer3::C6500::EXPORT_OK = qw//; %MIBS = ( - %SNMP::Info::Layer3::MIBS, - %SNMP::Info::CiscoVTP::MIBS, - %SNMP::Info::CiscoStack::MIBS, - %SNMP::Info::CDP::MIBS, - %SNMP::Info::CiscoStats::MIBS, + %SNMP::Info::Layer3::MIBS, + %SNMP::Info::CiscoConfig::MIBS, + %SNMP::Info::CiscoPortSecurity::MIBS, %SNMP::Info::CiscoImage::MIBS, + %SNMP::Info::CiscoStats::MIBS, + %SNMP::Info::CDP::MIBS, + %SNMP::Info::CiscoStack::MIBS, + %SNMP::Info::CiscoVTP::MIBS, ); %GLOBALS = ( %SNMP::Info::Layer3::GLOBALS, - %SNMP::Info::CiscoVTP::GLOBALS, - %SNMP::Info::CiscoStack::GLOBALS, - %SNMP::Info::CDP::GLOBALS, - %SNMP::Info::CiscoStats::GLOBALS, + %SNMP::Info::CiscoConfig::GLOBALS, + %SNMP::Info::CiscoPortSecurity::GLOBALS, %SNMP::Info::CiscoImage::GLOBALS, + %SNMP::Info::CiscoStats::GLOBALS, + %SNMP::Info::CDP::GLOBALS, + %SNMP::Info::CiscoStack::GLOBALS, + %SNMP::Info::CiscoVTP::GLOBALS, ); %FUNCS = ( %SNMP::Info::Layer3::FUNCS, - %SNMP::Info::CiscoVTP::FUNCS, - %SNMP::Info::CiscoStack::FUNCS, - %SNMP::Info::CDP::FUNCS, - %SNMP::Info::CiscoStats::FUNCS, + %SNMP::Info::CiscoConfig::FUNCS, + %SNMP::Info::CiscoPortSecurity::FUNCS, %SNMP::Info::CiscoImage::FUNCS, + %SNMP::Info::CiscoStats::FUNCS, + %SNMP::Info::CDP::FUNCS, + %SNMP::Info::CiscoStack::FUNCS, + %SNMP::Info::CiscoVTP::FUNCS, ); %MUNGE = ( %SNMP::Info::Layer3::MUNGE, - %SNMP::Info::CiscoVTP::MUNGE, - %SNMP::Info::CiscoStack::MUNGE, - %SNMP::Info::CDP::MUNGE, - %SNMP::Info::CiscoStats::MUNGE, + %SNMP::Info::CiscoConfig::MUNGE, + %SNMP::Info::CiscoPortSecurity::MUNGE, %SNMP::Info::CiscoImage::MUNGE, + %SNMP::Info::CiscoStats::MUNGE, + %SNMP::Info::CDP::MUNGE, + %SNMP::Info::CiscoStack::MUNGE, + %SNMP::Info::CiscoVTP::MUNGE, ); -# Pick and choose +# Override Inheritance for these specific methods -*SNMP::Info::Layer3::C6500::serial = \&SNMP::Info::CiscoStack::serial; *SNMP::Info::Layer3::C6500::interfaces = \&SNMP::Info::Layer3::interfaces; -*SNMP::Info::Layer3::C6500::i_duplex = \&SNMP::Info::CiscoStack::i_duplex; -#*SNMP::Info::Layer3::C6500::i_duplex_admin = \&SNMP::Info::Layer3::i_duplex_admin; *SNMP::Info::Layer3::C6500::i_name = \&SNMP::Info::Layer3::i_name; -*SNMP::Info::Layer3::C6500::i_type = \&SNMP::Info::CiscoStack::i_type; sub vendor { return 'cisco'; @@ -105,7 +114,8 @@ __END__ =head1 NAME -SNMP::Info::Layer3::C6500 - Perl5 Interface to Cisco Catalyst 6500 Layer 2/3 Switches running IOS and/or CatOS +SNMP::Info::Layer3::C6500 - SNMP Interface to Cisco Catalyst 6500 Layer 2/3 +Switches running IOS and/or CatOS =head1 AUTHOR @@ -115,12 +125,12 @@ Max Baker # Let SNMP::Info determine the correct subclass for you. my $c6500 = new SNMP::Info( - AutoSpecify => 1, - Debug => 1, - # These arguments are passed directly on to SNMP::Session - DestHost => 'myswitch', - Community => 'public', - Version => 2 + AutoSpecify => 1, + Debug => 1, + # These arguments are passed directly to SNMP::Session + DestHost => 'myswitch', + Community => 'public', + Version => 2 ) or die "Can't connect to DestHost.\n"; @@ -131,12 +141,12 @@ Max Baker Abstraction subclass for Cisco Catalyst 6500 Layer 2/3 Switches. -These devices run IOS but have some of the same charactersitics as the Catalyst WS-C family (5xxx). -For example, forwarding tables are held in VLANs, and extened interface information -is gleened from CISCO-SWITCH-MIB. +These devices run IOS but have some of the same charactersitics as the Catalyst +WS-C family (5xxx). For example, forwarding tables are held in VLANs, and +extended interface information is gleened from CISCO-SWITCH-MIB. -For speed or debugging purposes you can call the subclass directly, but not after determining -a more specific class using the method above. +For speed or debugging purposes you can call the subclass directly, but not +after determining a more specific class using the method above. my $c6500 = new SNMP::Info::Layer3::C6500(...); @@ -144,18 +154,22 @@ a more specific class using the method above. =over -=item SNMP::Info::Layer3 - =item SNMP::Info::CiscoVTP =item SNMP::Info::CiscoStack -=item SNMP::Info::CiscoStats - =item SNMP::Info::CDP +=item SNMP::Info::CiscoStats + =item SNMP::Info::CiscoImage +=item SNMP::Info::CiscoPortSecurity + +=item SNMP::Info::CiscoConfig + +=item SNMP::Info::Layer3 + =back =head2 Required MIBs @@ -164,18 +178,22 @@ a more specific class using the method above. =item Inherited Classes' MIBs -See L for its own MIB requirements. - See L for its own MIB requirements. See L for its own MIB requirements. -See L for its own MIB requirements. - See L for its own MIB requirements. +See L for its own MIB requirements. + See L for its own MIB requirements. +See L for its own MIB requirements. + +See L for its own MIB requirements. + +See L for its own MIB requirements. + =back =head1 GLOBALS @@ -195,10 +213,6 @@ is turned off for this class. =back -=head2 Globals imported from SNMP::Info::Layer3 - -See documentation in L for details. - =head2 Global Methods imported from SNMP::Info::CiscoVTP See documentation in L for details. @@ -219,15 +233,23 @@ See documentation in L for details. See documentation in L for details. +=head2 Globals imported from SNMP::Info::CiscoPortSecurity + +See documentation in L for details. + +=head2 Globals imported from SNMP::Info::CiscoConfig + +See documentation in L for details. + +=head2 Globals imported from SNMP::Info::Layer3 + +See documentation in L for details. + =head1 TABLE METHODS These are methods that return tables of information in the form of a reference to a hash. -=head2 Table Methods imported from SNMP::Info::Layer3 - -See documentation in L for details. - =head2 Table Methods imported from SNMP::Info::CiscoVTP See documentation in L for details. @@ -248,5 +270,17 @@ See documentation in L for details. See documentation in L for details. +=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity + +See documentation in L for details. + +=head2 Table Methods imported from SNMP::Info::CiscoConfig + +See documentation in L for details. + +=head2 Table Methods imported from SNMP::Info::Layer3 + +See documentation in L for details. + =cut diff --git a/Info/Layer3/Cisco.pm b/Info/Layer3/Cisco.pm index 0b3f7370..3d2be3ac 100644 --- a/Info/Layer3/Cisco.pm +++ b/Info/Layer3/Cisco.pm @@ -1,7 +1,7 @@ # SNMP::Info::Layer3::Cisco # Max Baker # -# Copyright (c) 2004-6 Max Baker +# Copyright (c) 2004 Max Baker # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -32,60 +32,66 @@ package SNMP::Info::Layer3::Cisco; use strict; use Exporter; -use SNMP::Info::Layer3; use SNMP::Info::CiscoVTP; use SNMP::Info::CDP; use SNMP::Info::CiscoStats; use SNMP::Info::CiscoImage; use SNMP::Info::CiscoRTT; use SNMP::Info::CiscoQOS; +use SNMP::Info::CiscoConfig; +use SNMP::Info::Layer3; use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; -$VERSION = '1.04'; -@SNMP::Info::Layer3::Cisco::ISA = qw/SNMP::Info::Layer3 SNMP::Info::CiscoVTP - SNMP::Info::CDP SNMP::Info::CiscoStats - SNMP::Info::CiscoImage SNMP::Info::CiscoRTT - SNMP::Info::CiscoQOS Exporter/; +$VERSION = '1.05'; +@SNMP::Info::Layer3::Cisco::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP + SNMP::Info::CiscoStats SNMP::Info::CiscoImage + SNMP::Info::CiscoRTT SNMP::Info::CiscoQOS + SNMP::Info::CiscoConfig SNMP::Info::Layer3 + Exporter/; @SNMP::Info::Layer3::Cisco::EXPORT_OK = qw//; %MIBS = ( - %SNMP::Info::Layer3::MIBS, - %SNMP::Info::CiscoVTP::MIBS, - %SNMP::Info::CDP::MIBS, - %SNMP::Info::CiscoStats::MIBS, - %SNMP::Info::CiscoImage::MIBS, - %SNMP::Info::CiscoRTT::MIBS, + %SNMP::Info::Layer3::MIBS, + %SNMP::Info::CiscoConfig::MIBS, %SNMP::Info::CiscoQOS::MIBS, + %SNMP::Info::CiscoRTT::MIBS, + %SNMP::Info::CiscoImage::MIBS, + %SNMP::Info::CiscoStats::MIBS, + %SNMP::Info::CDP::MIBS, + %SNMP::Info::CiscoVTP::MIBS, ); %GLOBALS = ( %SNMP::Info::Layer3::GLOBALS, - %SNMP::Info::CiscoVTP::GLOBALS, - %SNMP::Info::CDP::GLOBALS, - %SNMP::Info::CiscoStats::GLOBALS, - %SNMP::Info::CiscoImage::GLOBALS, - %SNMP::Info::CiscoRTT::GLOBALS, + %SNMP::Info::CiscoConfig::GLOBALS, %SNMP::Info::CiscoQOS::GLOBALS, + %SNMP::Info::CiscoRTT::GLOBALS, + %SNMP::Info::CiscoImage::GLOBALS, + %SNMP::Info::CiscoStats::GLOBALS, + %SNMP::Info::CDP::GLOBALS, + %SNMP::Info::CiscoVTP::GLOBALS, ); %FUNCS = ( %SNMP::Info::Layer3::FUNCS, - %SNMP::Info::CiscoVTP::FUNCS, - %SNMP::Info::CDP::FUNCS, - %SNMP::Info::CiscoStats::FUNCS, - %SNMP::Info::CiscoImage::FUNCS, - %SNMP::Info::CiscoRTT::FUNCS, + %SNMP::Info::CiscoConfig::FUNCS, %SNMP::Info::CiscoQOS::FUNCS, + %SNMP::Info::CiscoRTT::FUNCS, + %SNMP::Info::CiscoImage::FUNCS, + %SNMP::Info::CiscoStats::FUNCS, + %SNMP::Info::CDP::FUNCS, + %SNMP::Info::CiscoVTP::FUNCS, ); %MUNGE = ( %SNMP::Info::Layer3::MUNGE, - %SNMP::Info::CiscoVTP::MUNGE, - %SNMP::Info::CDP::MUNGE, - %SNMP::Info::CiscoStats::MUNGE, - %SNMP::Info::CiscoImage::MUNGE, - %SNMP::Info::CiscoRTT::MUNGE, + %SNMP::Info::CiscoConfig::MUNGE, %SNMP::Info::CiscoQOS::MUNGE, + %SNMP::Info::CiscoRTT::MUNGE, + %SNMP::Info::CiscoImage::MUNGE, + %SNMP::Info::CiscoStats::MUNGE, + %SNMP::Info::CDP::MUNGE, + %SNMP::Info::CiscoVTP::MUNGE, ); 1; @@ -93,7 +99,7 @@ __END__ =head1 NAME -SNMP::Info::Layer3::Cisco - Perl5 Interface to L3 and L2+L3 IOS Cisco Device +SNMP::Info::Layer3::Cisco - SNMP Interface to L3 and L2+L3 IOS Cisco Device that are not covered in other classes. =head1 AUTHOR @@ -104,12 +110,12 @@ Max Baker # Let SNMP::Info determine the correct subclass for you. my $cisco = new SNMP::Info( - AutoSpecify => 1, - Debug => 1, - # These arguments are passed directly on to SNMP::Session - DestHost => 'myswitch', - Community => 'public', - Version => 2 + AutoSpecify => 1, + Debug => 1, + # These arguments are passed directly to SNMP::Session + DestHost => 'myswitch', + Community => 'public', + Version => 2 ) or die "Can't connect to DestHost.\n"; @@ -124,8 +130,6 @@ Subclass for Generic Cisco Routers running IOS =over -=item SNMP::Info::Layer3 - =item SNMP::Info::CiscoVTP =item SNMP::Info::CDP @@ -134,6 +138,14 @@ Subclass for Generic Cisco Routers running IOS =item SNMP::Info::CiscoImage +=item SNMP::Info::CiscoRTT + +=item SNMP::Info::CiscoQOS + +=item SNMP::Info::CiscoConfig + +=item SNMP::Info::Layer3 + =back =head2 Required MIBs @@ -142,16 +154,22 @@ Subclass for Generic Cisco Routers running IOS =item Inherited Classes' MIBs -See L for its own MIB requirements. - See L for its own MIB requirements. -See L for its own MIB requirements. - See L for its own MIB requirements. +See L for its own MIB requirements. + See L for its own MIB requirements. +See L for its own MIB requirements. + +See L for its own MIB requirements. + +See L for its own MIB requirements. + +See L for its own MIB requirements. + =back =head1 GLOBALS @@ -166,10 +184,6 @@ These are methods that return scalar value from SNMP =back -=head2 Globals imported from SNMP::Info::Layer3 - -See documentation in L for details. - =head2 Global Methods imported from SNMP::Info::CiscoVTP See documentation in L for details. @@ -186,15 +200,27 @@ See documentation in L for details. See documentation in L for details. +=head2 Globals imported from SNMP::Info::CiscoRTT + +See documentation in L for details. + +=head2 Globals imported from SNMP::Info::CiscoQOS + +See documentation in L for details. + +=head2 Globals imported from SNMP::Info::CiscoConfig + +See documentation in L for details. + +=head2 Globals imported from SNMP::Info::Layer3 + +See documentation in L for details. + =head1 TABLE METHODS These are methods that return tables of information in the form of a reference to a hash. -=head2 Table Methods imported from SNMP::Info::Layer3 - -See documentation in L for details. - =head2 Table Methods imported from SNMP::Info::CiscoVTP See documentation in L for details. @@ -211,4 +237,20 @@ See documentation in L for details. See documentation in L for details. +=head2 Table Methods imported from SNMP::Info::CiscoRTT + +See documentation in L for details. + +=head2 Table Methods imported from SNMP::Info::CiscoQOS + +See documentation in L for details. + +=head2 Table Methods imported from SNMP::Info::CiscoConfig + +See documentation in L for details. + +=head2 Table Methods imported from SNMP::Info::Layer3 + +See documentation in L for details. + =cut