- 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:
		| @@ -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<SNMP::Info::CDP/"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. | ||||
|  | ||||
| =head1 GLOBALS | ||||
| @@ -347,6 +359,10 @@ See L<SNMP::Info::CDP/"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 | ||||
|  | ||||
| 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. | ||||
|  | ||||
| =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 | ||||
|  | ||||
| See L<SNMP::Info::Layer2/"TABLE METHODS"> for details. | ||||
|   | ||||
| @@ -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<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 | ||||
|  | ||||
| @@ -295,6 +307,10 @@ See L<SNMP::Info::CDP/"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 | ||||
|  | ||||
| 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. | ||||
|  | ||||
| =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 | ||||
|  | ||||
| See L<SNMP::Info::Layer2/"TABLE METHODS"> for details. | ||||
|   | ||||
| @@ -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<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::CiscoPortSecurity/"Required MIBs"> for its own MIB requirements. | ||||
|  | ||||
| See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements. | ||||
|  | ||||
| =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. | ||||
|  | ||||
| =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 | ||||
|  | ||||
| See documentation in L<SNMP::Info::Layer2/"GLOBALS"> 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<SNMP::Info::Layer2::CiscoStack/"TABLE METHODS"> for | ||||
| details. | ||||
| See documentation in L<SNMP::Info::CiscoStack/"TABLE METHODS"> for details. | ||||
|  | ||||
| =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. | ||||
|  | ||||
| =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. | ||||
|  | ||||
| =head2 Table Methods imported from SNMP::Info::Layer2 | ||||
|   | ||||
| @@ -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<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::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::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 | ||||
|  | ||||
| =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<SNMP::Info::Layer2/"GLOBALS"> for details. | ||||
|  | ||||
| =head2 Global Methods imported from SNMP::Info::CiscoVTP | ||||
|  | ||||
| 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. | ||||
|  | ||||
| =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 | ||||
|  | ||||
| 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<SNMP::Info::Layer2/"TABLE METHODS"> for details. | ||||
|  | ||||
| =head2 Table Methods imported from SNMP::Info::CiscoVTP | ||||
|  | ||||
| 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. | ||||
|  | ||||
| =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 | ||||
|   | ||||
| @@ -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<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::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. | ||||
|  | ||||
| =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 | ||||
|  | ||||
| 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. | ||||
|  | ||||
| =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 | ||||
|  | ||||
| See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details. | ||||
|   | ||||
| @@ -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<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::CiscoStats/"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::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::Layer3/"Required MIBs"> 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<SNMP::Info::Layer3/"GLOBALS"> for details. | ||||
|  | ||||
| =head2 Global Methods imported from SNMP::Info::CiscoVTP | ||||
|  | ||||
| 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. | ||||
|  | ||||
| =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 | ||||
|  | ||||
| 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 | ||||
|  | ||||
| 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<SNMP::Info::Layer3/"TABLE METHODS"> for details. | ||||
|  | ||||
| =head2 Table Methods imported from SNMP::Info::CiscoVTP | ||||
|  | ||||
| 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. | ||||
|  | ||||
| =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 | ||||
|  | ||||
| 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 | ||||
|   | ||||
| @@ -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<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::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::CiscoStats/"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 | ||||
|  | ||||
| =head1 GLOBALS | ||||
| @@ -195,10 +213,6 @@ is turned off for this class. | ||||
|  | ||||
| =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 | ||||
|  | ||||
| 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. | ||||
|  | ||||
| =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 | ||||
|  | ||||
| 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<SNMP::Info::Layer3/"TABLE METHODS"> for details. | ||||
|  | ||||
| =head2 Table Methods imported from SNMP::Info::CiscoVTP | ||||
|  | ||||
| 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. | ||||
|  | ||||
| =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 | ||||
|  | ||||
|   | ||||
| @@ -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<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::CiscoStats/"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::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 | ||||
|  | ||||
| =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<SNMP::Info::Layer3/"GLOBALS"> for details. | ||||
|  | ||||
| =head2 Global Methods imported from SNMP::Info::CiscoVTP | ||||
|  | ||||
| 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. | ||||
|  | ||||
| =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 | ||||
|  | ||||
| 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<SNMP::Info::Layer3/"TABLE METHODS"> for details. | ||||
|  | ||||
| =head2 Table Methods imported from SNMP::Info::CiscoVTP | ||||
|  | ||||
| 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. | ||||
|  | ||||
| =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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Eric Miller
					Eric Miller