- 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
This commit is contained in:
Eric Miller
2007-04-15 02:44:14 +00:00
parent 6bbc902c75
commit d9c87bdfbd
8 changed files with 507 additions and 278 deletions

View File

@@ -39,16 +39,18 @@ use Exporter;
use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoVTP;
use SNMP::Info::CDP; use SNMP::Info::CDP;
use SNMP::Info::CiscoStats; use SNMP::Info::CiscoStats;
use SNMP::Info::CiscoConfig;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@SNMP::Info::Layer2::C1900::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP @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//; @SNMP::Info::Layer2::C1900::EXPORT_OK = qw//;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/; use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/;
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer2::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::CiscoConfig::GLOBALS,
%SNMP::Info::CiscoStats::GLOBALS, %SNMP::Info::CiscoStats::GLOBALS,
%SNMP::Info::CDP::GLOBALS, %SNMP::Info::CDP::GLOBALS,
%SNMP::Info::CiscoVTP::GLOBALS, %SNMP::Info::CiscoVTP::GLOBALS,
@@ -57,6 +59,7 @@ use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/;
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer2::FUNCS, %SNMP::Info::Layer2::FUNCS,
%SNMP::Info::CiscoConfig::FUNCS,
%SNMP::Info::CiscoStats::FUNCS, %SNMP::Info::CiscoStats::FUNCS,
%SNMP::Info::CDP::FUNCS, %SNMP::Info::CDP::FUNCS,
%SNMP::Info::CiscoVTP::FUNCS, %SNMP::Info::CiscoVTP::FUNCS,
@@ -73,6 +76,7 @@ use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/;
%MIBS = ( %MIBS = (
%SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer2::MIBS,
%SNMP::Info::CiscoConfig::MIBS,
%SNMP::Info::CiscoStats::MIBS, %SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CDP::MIBS, %SNMP::Info::CDP::MIBS,
%SNMP::Info::CiscoVTP::MIBS, %SNMP::Info::CiscoVTP::MIBS,
@@ -81,8 +85,11 @@ use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/;
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer2::MUNGE, %SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::Layer2::MUNGE,
%SNMP::Info::CDP::MUNGE, %SNMP::Info::CiscoVTP::MUNGE, %SNMP::Info::CiscoConfig::MUNGE,
%SNMP::Info::CiscoStats::MUNGE,
%SNMP::Info::CDP::MUNGE,
%SNMP::Info::CiscoVTP::MUNGE,
); );
sub bulkwalk_no { 1; } sub bulkwalk_no { 1; }
@@ -225,7 +232,8 @@ __END__
=head1 NAME =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 =head1 AUTHOR
@@ -249,13 +257,13 @@ Max Baker
=head1 DESCRIPTION =head1 DESCRIPTION
Provides abstraction to the configuration information obtainable from a Catalyst 1900 device through SNMP. Provides abstraction to the configuration information obtainable from a
See SNMP::Info for full documentation 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. 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 For speed or debugging purposes you can call the subclass directly, but not
a more specific class using the method above. after determining a more specific class using the method above.
my $c1900 = new SNMP::Info::Layer2::C1900(...); 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::CiscoStats
=item SNMP::Info::CiscoConfig
=item SNMP::Info::Layer2 =item SNMP::Info::Layer2
=back =back
@@ -293,6 +303,8 @@ See L<SNMP::Info::CDP/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its MIB requirements. See L<SNMP::Info::CiscoStats/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::CiscoConfig/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::Layer2/"Required MIBs"> for its MIB requirements. See L<SNMP::Info::Layer2/"Required MIBs"> for its MIB requirements.
=head1 GLOBALS =head1 GLOBALS
@@ -347,6 +359,10 @@ See L<SNMP::Info::CDP/"GLOBALS"> for details.
See L<SNMP::Info::CiscoStats/"GLOBALS"> for details. See L<SNMP::Info::CiscoStats/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoConfig
See L<SNMP::Info::CiscoConfig/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Layer2 =head2 Globals imported from SNMP::Info::Layer2
See L<SNMP::Info::Layer2/"GLOBALS"> for details. See L<SNMP::Info::Layer2/"GLOBALS"> for details.
@@ -442,6 +458,10 @@ See L<SNMP::Info::CDP/"TABLE METHODS"> for details.
See L<SNMP::Info::CiscoStats/"TABLE METHODS"> for details. See L<SNMP::Info::CiscoStats/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoConfig
See L<SNMP::Info::CiscoConfig/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Layer2 =head2 Table Methods imported from SNMP::Info::Layer2
See L<SNMP::Info::Layer2/"TABLE METHODS"> for details. See L<SNMP::Info::Layer2/"TABLE METHODS"> for details.

View File

@@ -38,23 +38,27 @@ use Exporter;
use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoVTP;
use SNMP::Info::CDP; use SNMP::Info::CDP;
use SNMP::Info::CiscoStats; use SNMP::Info::CiscoStats;
use SNMP::Info::CiscoConfig;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@SNMP::Info::Layer2::C2900::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP @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//; @SNMP::Info::Layer2::C2900::EXPORT_OK = qw//;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/; use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/;
# Set for No CDP
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer2::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::CiscoConfig::GLOBALS,
%SNMP::Info::CiscoStats::GLOBALS, %SNMP::Info::CiscoStats::GLOBALS,
%SNMP::Info::CDP::GLOBALS, %SNMP::Info::CDP::GLOBALS,
%SNMP::Info::CiscoVTP::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::CiscoStats::FUNCS,
%SNMP::Info::CDP::FUNCS, %SNMP::Info::CDP::FUNCS,
%SNMP::Info::CiscoVTP::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', 'c2900_p_speed_admin' => 'c2900PortAdminSpeed',
); );
%MIBS = ( %SNMP::Info::Layer2::MIBS, %MIBS = (
%SNMP::Info::Layer2::MIBS,
%SNMP::Info::CiscoConfig::MIBS,
%SNMP::Info::CiscoStats::MIBS, %SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CDP::MIBS, %SNMP::Info::CDP::MIBS,
%SNMP::Info::CiscoVTP::MIBS, %SNMP::Info::CiscoVTP::MIBS,
'CISCO-C2900-MIB' => 'ciscoC2900MIB', 'CISCO-C2900-MIB' => 'ciscoC2900MIB',
); );
%MUNGE = (%SNMP::Info::Layer2::MUNGE, %MUNGE = (
%SNMP::Info::Layer2::MUNGE,
%SNMP::Info::CiscoConfig::MUNGE,
%SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CiscoStats::MUNGE,
%SNMP::Info::CDP::MUNGE, %SNMP::Info::CDP::MUNGE,
%SNMP::Info::CiscoVTP::MUNGE, %SNMP::Info::CiscoVTP::MUNGE,
@@ -215,7 +223,7 @@ Max Baker
my $c2900 = new SNMP::Info( my $c2900 = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session # These arguments are passed directly to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -245,6 +253,8 @@ after determining a more specific class using the method above.
=item SNMP::Info::CiscoStats =item SNMP::Info::CiscoStats
=item SNMP::Info::CiscoConfig
=item SNMP::Info::Layer2 =item SNMP::Info::Layer2
=back =back
@@ -261,13 +271,15 @@ Part of the v2 MIBs from Cisco.
=head2 Inherited MIBs =head2 Inherited MIBs
See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CDP/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoStats/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoConfig/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::Layer2/"Required MIBs"> for its MIB requirements.
=head1 GLOBALS =head1 GLOBALS
@@ -295,6 +307,10 @@ See L<SNMP::Info::CDP/"GLOBALS"> for details.
See L<SNMP::Info::CiscoStats/"GLOBALS"> for details. See L<SNMP::Info::CiscoStats/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoConfig
See L<SNMP::Info::CiscoConfig/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Layer2 =head2 Globals imported from SNMP::Info::Layer2
See L<SNMP::Info::Layer2/"GLOBALS"> for details. See L<SNMP::Info::Layer2/"GLOBALS"> for details.
@@ -376,6 +392,10 @@ See L<SNMP::Info::CDP/"TABLE METHODS"> for details.
See L<SNMP::Info::CiscoStats/"TABLE METHODS"> for details. See L<SNMP::Info::CiscoStats/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoConfig
See L<SNMP::Info::CiscoConfig/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Layer2 =head2 Table Methods imported from SNMP::Info::Layer2
See L<SNMP::Info::Layer2/"TABLE METHODS"> for details. See L<SNMP::Info::Layer2/"TABLE METHODS"> for details.

View File

@@ -39,15 +39,19 @@ use SNMP::Info::CiscoStack;
use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoVTP;
use SNMP::Info::CDP; use SNMP::Info::CDP;
use SNMP::Info::CiscoStats; use SNMP::Info::CiscoStats;
use SNMP::Info::CiscoPortSecurity;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ;
@SNMP::Info::Layer2::Catalyst::ISA = qw/SNMP::Info::CiscoStack SNMP::Info::CiscoVTP @SNMP::Info::Layer2::Catalyst::ISA = qw/SNMP::Info::CiscoStack SNMP::Info::CiscoVTP
SNMP::Info::CDP SNMP::Info::CiscoStats SNMP::Info::CDP SNMP::Info::CiscoStats
SNMP::Info::CiscoPortSecurity
SNMP::Info::Layer2 Exporter/; SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::Catalyst::EXPORT_OK = qw//; @SNMP::Info::Layer2::Catalyst::EXPORT_OK = qw//;
%MIBS = ( %SNMP::Info::Layer2::MIBS, %MIBS = (
%SNMP::Info::Layer2::MIBS,
%SNMP::Info::CiscoPortSecurity::MIBS,
%SNMP::Info::CiscoStats::MIBS, %SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CDP::MIBS, %SNMP::Info::CDP::MIBS,
%SNMP::Info::CiscoVTP::MIBS, %SNMP::Info::CiscoVTP::MIBS,
@@ -56,6 +60,7 @@ use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ;
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer2::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::CiscoPortSecurity::GLOBALS,
%SNMP::Info::CiscoStats::GLOBALS, %SNMP::Info::CiscoStats::GLOBALS,
%SNMP::Info::CDP::GLOBALS, %SNMP::Info::CDP::GLOBALS,
%SNMP::Info::CiscoVTP::GLOBALS, %SNMP::Info::CiscoVTP::GLOBALS,
@@ -64,6 +69,7 @@ use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ;
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer2::FUNCS, %SNMP::Info::Layer2::FUNCS,
%SNMP::Info::CiscoPortSecurity::FUNCS,
%SNMP::Info::CiscoStats::FUNCS, %SNMP::Info::CiscoStats::FUNCS,
%SNMP::Info::CDP::FUNCS, %SNMP::Info::CDP::FUNCS,
%SNMP::Info::CiscoVTP::FUNCS, %SNMP::Info::CiscoVTP::FUNCS,
@@ -72,6 +78,7 @@ use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ;
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer2::MUNGE, %SNMP::Info::Layer2::MUNGE,
%SNMP::Info::CiscoPortSecurity::MUNGE,
%SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CiscoStats::MUNGE,
%SNMP::Info::CDP::MUNGE, %SNMP::Info::CDP::MUNGE,
%SNMP::Info::CiscoVTP::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::CiscoStats
=item SNMP::Info::CiscoPortSecurity
=item SNMP::Info::Layer2 =item SNMP::Info::Layer2
=back =back
@@ -217,6 +226,8 @@ See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoPortSecurity/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
=back =back
@@ -260,6 +271,10 @@ See documentation in L<SNMP::Info::CDP/"GLOBALS"> for details.
See documentation in L<SNMP::Info::CiscoStats/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoStats/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::CiscoPortSecurity
See documentation in L<SNMP::Info::CiscoPortSecurity/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Layer2 =head2 Globals imported from SNMP::Info::Layer2
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
@@ -283,10 +298,9 @@ problems with BRIDGE-MIB
=back =back
=head2 Table Methods imported from SNMP::Info::Layer2::CiscoStack =head2 Table Methods imported from SNMP::Info::CiscoStack
See documentation in L<SNMP::Info::Layer2::CiscoStack/"TABLE METHODS"> for See documentation in L<SNMP::Info::CiscoStack/"TABLE METHODS"> for details.
details.
=head2 Table Methods imported from SNMP::Info::CiscoVTP =head2 Table Methods imported from SNMP::Info::CiscoVTP
@@ -296,9 +310,13 @@ See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::CDP/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CDP/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Layer2::CiscoStats =head2 Table Methods imported from SNMP::Info::CiscoStats
See documentation in L<SNMP::Info::Layer2::CiscoStats/"TABLE METHODS"> for See documentation in L<SNMP::Info::CiscoStats/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity
See documentation in L<SNMP::Info::CiscoPortSecurity/"TABLE METHODS"> for
details. details.
=head2 Table Methods imported from SNMP::Info::Layer2 =head2 Table Methods imported from SNMP::Info::Layer2

View File

@@ -32,60 +32,66 @@ package SNMP::Info::Layer2::Cisco;
use strict; use strict;
use Exporter; use Exporter;
use SNMP::Info::Layer2;
use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoVTP;
use SNMP::Info::CDP; use SNMP::Info::CDP;
use SNMP::Info::CiscoStats; use SNMP::Info::CiscoStats;
use SNMP::Info::CiscoImage; use SNMP::Info::CiscoImage;
use SNMP::Info::CiscoRTT; use SNMP::Info::CiscoRTT;
use SNMP::Info::CiscoQOS; use SNMP::Info::CiscoQOS;
use SNMP::Info::CiscoConfig;
use SNMP::Info::Layer2;
use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ;
$VERSION = 1.04; $VERSION = 1.05;
@SNMP::Info::Layer2::Cisco::ISA = qw/SNMP::Info::Layer2 SNMP::Info::CiscoVTP @SNMP::Info::Layer2::Cisco::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP
SNMP::Info::CDP SNMP::Info::CiscoStats SNMP::Info::CiscoStats SNMP::Info::CiscoImage
SNMP::Info::CiscoImage SNMP::Info::CiscoRTT SNMP::Info::CiscoRTT SNMP::Info::CiscoQOS
SNMP::Info::CiscoQOS Exporter/; SNMP::Info::CiscoConfig SNMP::Info::Layer2
Exporter/;
@SNMP::Info::Layer2::Cisco::EXPORT_OK = qw//; @SNMP::Info::Layer2::Cisco::EXPORT_OK = qw//;
%MIBS = ( %MIBS = (
%SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer2::MIBS,
%SNMP::Info::CiscoVTP::MIBS, %SNMP::Info::CiscoConfig::MIBS,
%SNMP::Info::CDP::MIBS,
%SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CiscoImage::MIBS,
%SNMP::Info::CiscoRTT::MIBS,
%SNMP::Info::CiscoQOS::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 = ( %GLOBALS = (
%SNMP::Info::Layer2::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::CiscoVTP::GLOBALS, %SNMP::Info::CiscoConfig::GLOBALS,
%SNMP::Info::CDP::GLOBALS,
%SNMP::Info::CiscoStats::GLOBALS,
%SNMP::Info::CiscoImage::GLOBALS,
%SNMP::Info::CiscoRTT::GLOBALS,
%SNMP::Info::CiscoQOS::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 = ( %FUNCS = (
%SNMP::Info::Layer2::FUNCS, %SNMP::Info::Layer2::FUNCS,
%SNMP::Info::CiscoVTP::FUNCS, %SNMP::Info::CiscoConfig::FUNCS,
%SNMP::Info::CDP::FUNCS,
%SNMP::Info::CiscoStats::FUNCS,
%SNMP::Info::CiscoImage::FUNCS,
%SNMP::Info::CiscoRTT::FUNCS,
%SNMP::Info::CiscoQOS::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 = ( %MUNGE = (
%SNMP::Info::Layer2::MUNGE, %SNMP::Info::Layer2::MUNGE,
%SNMP::Info::CiscoVTP::MUNGE, %SNMP::Info::CiscoConfig::MUNGE,
%SNMP::Info::CDP::MUNGE,
%SNMP::Info::CiscoStats::MUNGE,
%SNMP::Info::CiscoImage::MUNGE,
%SNMP::Info::CiscoRTT::MUNGE,
%SNMP::Info::CiscoQOS::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; 1;
@@ -93,7 +99,7 @@ __END__
=head1 NAME =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. that are not covered in other classes.
=head1 AUTHOR =head1 AUTHOR
@@ -106,7 +112,7 @@ Max Baker
my $cisco = new SNMP::Info( my $cisco = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session # These arguments are passed directly to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -124,8 +130,6 @@ Subclass for Generic Cisco Routers running IOS
=over =over
=item SNMP::Info::Layer2
=item SNMP::Info::CiscoVTP =item SNMP::Info::CiscoVTP
=item SNMP::Info::CDP =item SNMP::Info::CDP
@@ -134,6 +138,14 @@ Subclass for Generic Cisco Routers running IOS
=item SNMP::Info::CiscoImage =item SNMP::Info::CiscoImage
=item SNMP::Info::CiscoRTT
=item SNMP::Info::CiscoQOS
=item SNMP::Info::CiscoConfig
=item SNMP::Info::Layer2
=back =back
=head2 Required MIBs =head2 Required MIBs
@@ -142,8 +154,6 @@ Subclass for Generic Cisco Routers running IOS
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements.
@@ -152,6 +162,14 @@ See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoImage/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoImage/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoRTT/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoQOS/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoConfig/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
=back =back
=head1 GLOBALS =head1 GLOBALS
@@ -166,10 +184,6 @@ These are methods that return scalar value from SNMP
=back =back
=head2 Globals imported from SNMP::Info::Layer2
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::CiscoVTP =head2 Global Methods imported from SNMP::Info::CiscoVTP
See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details.
@@ -186,15 +200,27 @@ See documentation in L<SNMP::Info::CiscoStats/"GLOBALS"> for details.
See documentation in L<SNMP::Info::CiscoImage/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoImage/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoRTT
See documentation in L<SNMP::Info::CiscoRTT/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoQOS
See documentation in L<SNMP::Info::CiscoQOS/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoConfig
See documentation in L<SNMP::Info::CiscoConfig/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Layer2
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
to a hash. to a hash.
=head2 Table Methods imported from SNMP::Info::Layer2
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoVTP =head2 Table Methods imported from SNMP::Info::CiscoVTP
See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details.
@@ -211,4 +237,20 @@ See documentation in L<SNMP::Info::CiscoStats/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::CiscoImage/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoImage/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoRTT
See documentation in L<SNMP::Info::CiscoRTT/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoQOS
See documentation in L<SNMP::Info::CiscoQOS/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoConfig
See documentation in L<SNMP::Info::CiscoConfig/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Layer2
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -29,71 +29,74 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::C3550; package SNMP::Info::Layer3::C3550;
$VERSION = '1.04'; $VERSION = '1.05';
# $Id$ # $Id$
use strict; use strict;
use Exporter; use Exporter;
use SNMP::Info::Layer3;
use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoVTP;
use SNMP::Info::CiscoStack; use SNMP::Info::CiscoStack;
use SNMP::Info::CDP; use SNMP::Info::CDP;
use SNMP::Info::CiscoStats; use SNMP::Info::CiscoStats;
use SNMP::Info::CiscoImage; use SNMP::Info::CiscoImage;
use SNMP::Info::CiscoPortSecurity;
use SNMP::Info::Layer3;
use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; 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::Layer3::C3550::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CiscoStack
SNMP::Info::CiscoStats SNMP::Info::CDP Exporter SNMP::Info::CDP SNMP::Info::CiscoStats
SNMP::Info::CiscoImage/; SNMP::Info::CiscoPortSecurity
SNMP::Info::CiscoImage SNMP::Info::Layer3
Exporter/;
@SNMP::Info::Layer3::C3550::EXPORT_OK = qw//; @SNMP::Info::Layer3::C3550::EXPORT_OK = qw//;
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::CiscoVTP::MIBS, %SNMP::Info::CiscoPortSecurity::MIBS,
%SNMP::Info::CiscoStack::MIBS,
%SNMP::Info::CDP::MIBS,
%SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CiscoImage::MIBS, %SNMP::Info::CiscoImage::MIBS,
%SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CDP::MIBS,
%SNMP::Info::CiscoStack::MIBS,
%SNMP::Info::CiscoVTP::MIBS,
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::CiscoVTP::GLOBALS, %SNMP::Info::CiscoPortSecurity::GLOBALS,
%SNMP::Info::CiscoStack::GLOBALS,
%SNMP::Info::CDP::GLOBALS,
%SNMP::Info::CiscoStats::GLOBALS,
%SNMP::Info::CiscoImage::GLOBALS, %SNMP::Info::CiscoImage::GLOBALS,
%SNMP::Info::CiscoStats::GLOBALS,
%SNMP::Info::CDP::GLOBALS,
%SNMP::Info::CiscoStack::GLOBALS,
%SNMP::Info::CiscoVTP::GLOBALS,
'ports2' => 'ifNumber', 'ports2' => 'ifNumber',
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::CiscoVTP::FUNCS, %SNMP::Info::CiscoPortSecurity::FUNCS,
%SNMP::Info::CiscoStack::FUNCS,
%SNMP::Info::CDP::FUNCS,
%SNMP::Info::CiscoStats::FUNCS,
%SNMP::Info::CiscoImage::FUNCS, %SNMP::Info::CiscoImage::FUNCS,
%SNMP::Info::CiscoStats::FUNCS,
%SNMP::Info::CDP::FUNCS,
%SNMP::Info::CiscoStack::FUNCS,
%SNMP::Info::CiscoVTP::FUNCS,
); );
%MUNGE = ( %MUNGE = (
# Inherit all the built in munging # Inherit all the built in munging
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::CiscoVTP::MUNGE, %SNMP::Info::CiscoPortSecurity::MUNGE,
%SNMP::Info::CiscoStack::MUNGE,
%SNMP::Info::CDP::MUNGE,
%SNMP::Info::CiscoStats::MUNGE,
%SNMP::Info::CiscoImage::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::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_name = \&SNMP::Info::Layer3::i_name;
*SNMP::Info::Layer3::C3550::i_type = \&SNMP::Info::CiscoStack::i_type;
sub vendor { sub vendor {
return 'cisco'; return 'cisco';
@@ -130,13 +133,13 @@ sub cisco_comm_indexing {
1; 1;
} }
1; 1;
__END__ __END__
=head1 NAME =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 =head1 AUTHOR
@@ -148,7 +151,7 @@ Max Baker
my $c3550 = new SNMP::Info( my $c3550 = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session # These arguments are passed directly to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -162,12 +165,12 @@ Max Baker
Abstraction subclass for Cisco Catalyst 3550 Layer 2/3 Switches. 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). These devices run IOS but have some of the same charactersitics as the
For example, forwarding tables are held in VLANs, and extened interface information Catalyst WS-C family (5xxx,6xxx). For example, forwarding tables are held in
is gleened from CISCO-SWITCH-MIB. 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 For speed or debugging purposes you can call the subclass directly, but not
a more specific class using the method above. after determining a more specific class using the method above.
my $c3550 = new SNMP::Info::Layer3::C3550(...); 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::Layer3
=item SNMP::Info::CiscoPortSecurity
=item SNMP::Info::CiscoVTP =item SNMP::Info::CiscoVTP
=item SNMP::Info::CiscoStack =item SNMP::Info::CiscoStack
@@ -197,6 +202,8 @@ a more specific class using the method above.
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoPortSecurity/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoStack/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoStack/"Required MIBs"> for its own MIB requirements.
@@ -236,6 +243,10 @@ Trys to cull the number of ports from the model number.
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoPortSecurity
See documentation in L<SNMP::Info::CiscoPortSecurity/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::CiscoVTP =head2 Global Methods imported from SNMP::Info::CiscoVTP
See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details.
@@ -265,6 +276,10 @@ to a hash.
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity
See documentation in L<SNMP::Info::CiscoPortSecurity/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoVTP =head2 Table Methods imported from SNMP::Info::CiscoVTP
See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details.

View File

@@ -33,37 +33,46 @@ package SNMP::Info::Layer3::C4000;
use strict; use strict;
use Exporter; use Exporter;
use SNMP::Info::Layer3;
use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoVTP;
use SNMP::Info::CDP; use SNMP::Info::CDP;
use SNMP::Info::CiscoStats; use SNMP::Info::CiscoStats;
use SNMP::Info::CiscoImage; use SNMP::Info::CiscoImage;
use SNMP::Info::CiscoPortSecurity;
use SNMP::Info::CiscoConfig;
use SNMP::Info::MAU; use SNMP::Info::MAU;
use SNMP::Info::Layer3;
use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ;
$VERSION = '1.04'; $VERSION = '1.05';
@SNMP::Info::Layer3::C4000::ISA = qw/ SNMP::Info::Layer3 SNMP::Info::CiscoVTP @SNMP::Info::Layer3::C4000::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP
SNMP::Info::CiscoStats SNMP::Info::CDP SNMP::Info::CiscoStats SNMP::Info::CiscoImage
SNMP::Info::CiscoImage SNMP::Info::MAU Exporter/; SNMP::Info::CiscoPortSecurity
SNMP::Info::CiscoConfig SNMP::Info::MAU
SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::C4000::EXPORT_OK = qw//; @SNMP::Info::Layer3::C4000::EXPORT_OK = qw//;
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::CiscoVTP::MIBS,
%SNMP::Info::CDP::MIBS,
%SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CiscoImage::MIBS,
%SNMP::Info::MAU::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', 'CISCO-ENVMON-MIB' => 'ciscoEnvMonMIB',
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::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::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_type' => 'ciscoEnvMonSupplyStatusDescr.1',
'ps1_status' => 'ciscoEnvMonSupplyState.1', 'ps1_status' => 'ciscoEnvMonSupplyState.1',
'ps2_type' => 'ciscoEnvMonSupplyStatusDescr.2', 'ps2_type' => 'ciscoEnvMonSupplyStatusDescr.2',
@@ -72,24 +81,29 @@ $VERSION = '1.04';
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::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::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_state' => 'ciscoEnvMonFanState',
'fan_descr' => 'ciscoEnvMonFanStatusDescr', 'fan_descr' => 'ciscoEnvMonFanStatusDescr',
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::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::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 # 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_duplex_admin = \&SNMP::Info::MAU::mau_i_duplex_admin;
*SNMP::Info::Layer3::C4000::i_speed_admin = \&SNMP::Info::MAU::mau_i_speed_admin; *SNMP::Info::Layer3::C4000::i_speed_admin = \&SNMP::Info::MAU::mau_i_speed_admin;
@@ -115,7 +129,8 @@ __END__
=head1 NAME =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 =head1 AUTHOR
@@ -127,7 +142,7 @@ Bill Fenner
my $c4000 = new SNMP::Info( my $c4000 = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session # These arguments are passed directly to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -141,8 +156,8 @@ Bill Fenner
Abstraction subclass for Cisco Catalyst 4000 Layer 2/3 Switches. 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 For speed or debugging purposes you can call the subclass directly, but not
a more specific class using the method above. after determining a more specific class using the method above.
my $c4000 = new SNMP::Info::Layer3::C4000(...); my $c4000 = new SNMP::Info::Layer3::C4000(...);
@@ -150,18 +165,22 @@ a more specific class using the method above.
=over =over
=item SNMP::Info::Layer3
=item SNMP::Info::CiscoVTP =item SNMP::Info::CiscoVTP
=item SNMP::Info::CiscoStats
=item SNMP::Info::CDP =item SNMP::Info::CDP
=item SNMP::Info::CiscoStats
=item SNMP::Info::CiscoImage =item SNMP::Info::CiscoImage
=item SNMP::Info::CiscoPortSecurity
=item SNMP::Info::CiscoConfig
=item SNMP::Info::MAU =item SNMP::Info::MAU
=item SNMP::Info::Layer3
=back =back
=head2 Required MIBs =head2 Required MIBs
@@ -170,28 +189,28 @@ a more specific class using the method above.
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoImage/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoImage/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoPortSecurity/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoConfig/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::MAU/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::MAU/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
=back =back
=head1 GLOBALS =head1 GLOBALS
These are methods that return scalar value from SNMP These are methods that return scalar value from SNMP
=head2 Globals imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::CiscoVTP =head2 Global Methods imported from SNMP::Info::CiscoVTP
See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details.
@@ -208,19 +227,27 @@ See documentation in L<SNMP::Info::CiscoStats/"GLOBALS"> for details.
See documentation in L<SNMP::Info::CiscoImage/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoImage/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoPortSecurity
See documentation in L<SNMP::Info::CiscoPortSecurity/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoConfig
See documentation in L<SNMP::Info::CiscoConfig/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::MAU =head2 Globals imported from SNMP::Info::MAU
See documentation in L<SNMP::Info::MAU/"GLOBALS"> for details. See documentation in L<SNMP::Info::MAU/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
to a hash. to a hash.
=head2 Table Methods imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoVTP =head2 Table Methods imported from SNMP::Info::CiscoVTP
See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details.
@@ -237,9 +264,20 @@ See documentation in L<SNMP::Info::CiscoStats/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::CiscoImage/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoImage/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity
See documentation in L<SNMP::Info::CiscoPortSecurity/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoConfig
See documentation in L<SNMP::Info::CiscoConfig/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::MAU =head2 Table Methods imported from SNMP::Info::MAU
See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details.
=cut =head2 Table Methods imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=cut

View File

@@ -33,64 +33,73 @@ package SNMP::Info::Layer3::C6500;
use strict; use strict;
use Exporter; use Exporter;
use SNMP::Info::Layer3;
use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoVTP;
use SNMP::Info::CiscoStack; use SNMP::Info::CiscoStack;
use SNMP::Info::CDP; use SNMP::Info::CDP;
use SNMP::Info::CiscoStats; use SNMP::Info::CiscoStats;
use SNMP::Info::CiscoImage; 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/ ; use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ;
$VERSION = '1.04'; $VERSION = '1.05';
@SNMP::Info::Layer3::C6500::ISA = qw/ SNMP::Info::Layer3 SNMP::Info::CiscoStack SNMP::Info::CiscoVTP @SNMP::Info::Layer3::C6500::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CiscoStack
SNMP::Info::CiscoStats SNMP::Info::CDP Exporter SNMP::Info::CDP SNMP::Info::CiscoStats
SNMP::Info::CiscoImage/; SNMP::Info::CiscoImage
SNMP::Info::CiscoPortSecurity
SNMP::Info::CiscoConfig SNMP::Info::Layer3
Exporter/;
@SNMP::Info::Layer3::C6500::EXPORT_OK = qw//; @SNMP::Info::Layer3::C6500::EXPORT_OK = qw//;
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::CiscoVTP::MIBS, %SNMP::Info::CiscoConfig::MIBS,
%SNMP::Info::CiscoStack::MIBS, %SNMP::Info::CiscoPortSecurity::MIBS,
%SNMP::Info::CDP::MIBS,
%SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CiscoImage::MIBS, %SNMP::Info::CiscoImage::MIBS,
%SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CDP::MIBS,
%SNMP::Info::CiscoStack::MIBS,
%SNMP::Info::CiscoVTP::MIBS,
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::CiscoVTP::GLOBALS, %SNMP::Info::CiscoConfig::GLOBALS,
%SNMP::Info::CiscoStack::GLOBALS, %SNMP::Info::CiscoPortSecurity::GLOBALS,
%SNMP::Info::CDP::GLOBALS,
%SNMP::Info::CiscoStats::GLOBALS,
%SNMP::Info::CiscoImage::GLOBALS, %SNMP::Info::CiscoImage::GLOBALS,
%SNMP::Info::CiscoStats::GLOBALS,
%SNMP::Info::CDP::GLOBALS,
%SNMP::Info::CiscoStack::GLOBALS,
%SNMP::Info::CiscoVTP::GLOBALS,
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::CiscoVTP::FUNCS, %SNMP::Info::CiscoConfig::FUNCS,
%SNMP::Info::CiscoStack::FUNCS, %SNMP::Info::CiscoPortSecurity::FUNCS,
%SNMP::Info::CDP::FUNCS,
%SNMP::Info::CiscoStats::FUNCS,
%SNMP::Info::CiscoImage::FUNCS, %SNMP::Info::CiscoImage::FUNCS,
%SNMP::Info::CiscoStats::FUNCS,
%SNMP::Info::CDP::FUNCS,
%SNMP::Info::CiscoStack::FUNCS,
%SNMP::Info::CiscoVTP::FUNCS,
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::CiscoVTP::MUNGE, %SNMP::Info::CiscoConfig::MUNGE,
%SNMP::Info::CiscoStack::MUNGE, %SNMP::Info::CiscoPortSecurity::MUNGE,
%SNMP::Info::CDP::MUNGE,
%SNMP::Info::CiscoStats::MUNGE,
%SNMP::Info::CiscoImage::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::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_name = \&SNMP::Info::Layer3::i_name;
*SNMP::Info::Layer3::C6500::i_type = \&SNMP::Info::CiscoStack::i_type;
sub vendor { sub vendor {
return 'cisco'; return 'cisco';
@@ -105,7 +114,8 @@ __END__
=head1 NAME =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 =head1 AUTHOR
@@ -117,7 +127,7 @@ Max Baker
my $c6500 = new SNMP::Info( my $c6500 = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session # These arguments are passed directly to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -131,12 +141,12 @@ Max Baker
Abstraction subclass for Cisco Catalyst 6500 Layer 2/3 Switches. 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). These devices run IOS but have some of the same charactersitics as the Catalyst
For example, forwarding tables are held in VLANs, and extened interface information WS-C family (5xxx). For example, forwarding tables are held in VLANs, and
is gleened from CISCO-SWITCH-MIB. extended interface information is gleened from CISCO-SWITCH-MIB.
For speed or debugging purposes you can call the subclass directly, but not after determining For speed or debugging purposes you can call the subclass directly, but not
a more specific class using the method above. after determining a more specific class using the method above.
my $c6500 = new SNMP::Info::Layer3::C6500(...); my $c6500 = new SNMP::Info::Layer3::C6500(...);
@@ -144,18 +154,22 @@ a more specific class using the method above.
=over =over
=item SNMP::Info::Layer3
=item SNMP::Info::CiscoVTP =item SNMP::Info::CiscoVTP
=item SNMP::Info::CiscoStack =item SNMP::Info::CiscoStack
=item SNMP::Info::CiscoStats
=item SNMP::Info::CDP =item SNMP::Info::CDP
=item SNMP::Info::CiscoStats
=item SNMP::Info::CiscoImage =item SNMP::Info::CiscoImage
=item SNMP::Info::CiscoPortSecurity
=item SNMP::Info::CiscoConfig
=item SNMP::Info::Layer3
=back =back
=head2 Required MIBs =head2 Required MIBs
@@ -164,18 +178,22 @@ a more specific class using the method above.
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoStack/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoStack/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoImage/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoImage/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoPortSecurity/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoConfig/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
=back =back
=head1 GLOBALS =head1 GLOBALS
@@ -195,10 +213,6 @@ is turned off for this class.
=back =back
=head2 Globals imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::CiscoVTP =head2 Global Methods imported from SNMP::Info::CiscoVTP
See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details.
@@ -219,15 +233,23 @@ See documentation in L<SNMP::Info::CiscoStats/"GLOBALS"> for details.
See documentation in L<SNMP::Info::CiscoImage/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoImage/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoPortSecurity
See documentation in L<SNMP::Info::CiscoPortSecurity/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoConfig
See documentation in L<SNMP::Info::CiscoConfig/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
to a hash. to a hash.
=head2 Table Methods imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoVTP =head2 Table Methods imported from SNMP::Info::CiscoVTP
See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details.
@@ -248,5 +270,17 @@ See documentation in L<SNMP::Info::CiscoStats/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::CiscoImage/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoImage/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity
See documentation in L<SNMP::Info::CiscoPortSecurity/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoConfig
See documentation in L<SNMP::Info::CiscoConfig/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer3::Cisco # SNMP::Info::Layer3::Cisco
# Max Baker # Max Baker
# #
# Copyright (c) 2004-6 Max Baker # Copyright (c) 2004 Max Baker
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met: # modification, are permitted provided that the following conditions are met:
@@ -32,60 +32,66 @@ package SNMP::Info::Layer3::Cisco;
use strict; use strict;
use Exporter; use Exporter;
use SNMP::Info::Layer3;
use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoVTP;
use SNMP::Info::CDP; use SNMP::Info::CDP;
use SNMP::Info::CiscoStats; use SNMP::Info::CiscoStats;
use SNMP::Info::CiscoImage; use SNMP::Info::CiscoImage;
use SNMP::Info::CiscoRTT; use SNMP::Info::CiscoRTT;
use SNMP::Info::CiscoQOS; use SNMP::Info::CiscoQOS;
use SNMP::Info::CiscoConfig;
use SNMP::Info::Layer3;
use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ; use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE $INIT/ ;
$VERSION = '1.04'; $VERSION = '1.05';
@SNMP::Info::Layer3::Cisco::ISA = qw/SNMP::Info::Layer3 SNMP::Info::CiscoVTP @SNMP::Info::Layer3::Cisco::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP
SNMP::Info::CDP SNMP::Info::CiscoStats SNMP::Info::CiscoStats SNMP::Info::CiscoImage
SNMP::Info::CiscoImage SNMP::Info::CiscoRTT SNMP::Info::CiscoRTT SNMP::Info::CiscoQOS
SNMP::Info::CiscoQOS Exporter/; SNMP::Info::CiscoConfig SNMP::Info::Layer3
Exporter/;
@SNMP::Info::Layer3::Cisco::EXPORT_OK = qw//; @SNMP::Info::Layer3::Cisco::EXPORT_OK = qw//;
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::CiscoVTP::MIBS, %SNMP::Info::CiscoConfig::MIBS,
%SNMP::Info::CDP::MIBS,
%SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CiscoImage::MIBS,
%SNMP::Info::CiscoRTT::MIBS,
%SNMP::Info::CiscoQOS::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 = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::CiscoVTP::GLOBALS, %SNMP::Info::CiscoConfig::GLOBALS,
%SNMP::Info::CDP::GLOBALS,
%SNMP::Info::CiscoStats::GLOBALS,
%SNMP::Info::CiscoImage::GLOBALS,
%SNMP::Info::CiscoRTT::GLOBALS,
%SNMP::Info::CiscoQOS::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 = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::CiscoVTP::FUNCS, %SNMP::Info::CiscoConfig::FUNCS,
%SNMP::Info::CDP::FUNCS,
%SNMP::Info::CiscoStats::FUNCS,
%SNMP::Info::CiscoImage::FUNCS,
%SNMP::Info::CiscoRTT::FUNCS,
%SNMP::Info::CiscoQOS::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 = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::CiscoVTP::MUNGE, %SNMP::Info::CiscoConfig::MUNGE,
%SNMP::Info::CDP::MUNGE,
%SNMP::Info::CiscoStats::MUNGE,
%SNMP::Info::CiscoImage::MUNGE,
%SNMP::Info::CiscoRTT::MUNGE,
%SNMP::Info::CiscoQOS::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; 1;
@@ -93,7 +99,7 @@ __END__
=head1 NAME =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. that are not covered in other classes.
=head1 AUTHOR =head1 AUTHOR
@@ -106,7 +112,7 @@ Max Baker
my $cisco = new SNMP::Info( my $cisco = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session # These arguments are passed directly to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -124,8 +130,6 @@ Subclass for Generic Cisco Routers running IOS
=over =over
=item SNMP::Info::Layer3
=item SNMP::Info::CiscoVTP =item SNMP::Info::CiscoVTP
=item SNMP::Info::CDP =item SNMP::Info::CDP
@@ -134,6 +138,14 @@ Subclass for Generic Cisco Routers running IOS
=item SNMP::Info::CiscoImage =item SNMP::Info::CiscoImage
=item SNMP::Info::CiscoRTT
=item SNMP::Info::CiscoQOS
=item SNMP::Info::CiscoConfig
=item SNMP::Info::Layer3
=back =back
=head2 Required MIBs =head2 Required MIBs
@@ -142,16 +154,22 @@ Subclass for Generic Cisco Routers running IOS
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoImage/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoImage/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoRTT/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoQOS/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoConfig/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
=back =back
=head1 GLOBALS =head1 GLOBALS
@@ -166,10 +184,6 @@ These are methods that return scalar value from SNMP
=back =back
=head2 Globals imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::CiscoVTP =head2 Global Methods imported from SNMP::Info::CiscoVTP
See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details.
@@ -186,15 +200,27 @@ See documentation in L<SNMP::Info::CiscoStats/"GLOBALS"> for details.
See documentation in L<SNMP::Info::CiscoImage/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoImage/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoRTT
See documentation in L<SNMP::Info::CiscoRTT/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoQOS
See documentation in L<SNMP::Info::CiscoQOS/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoConfig
See documentation in L<SNMP::Info::CiscoConfig/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
to a hash. to a hash.
=head2 Table Methods imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoVTP =head2 Table Methods imported from SNMP::Info::CiscoVTP
See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details.
@@ -211,4 +237,20 @@ See documentation in L<SNMP::Info::CiscoStats/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::CiscoImage/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoImage/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoRTT
See documentation in L<SNMP::Info::CiscoRTT/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoQOS
See documentation in L<SNMP::Info::CiscoQOS/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoConfig
See documentation in L<SNMP::Info::CiscoConfig/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=cut =cut