diff --git a/Info.pm b/Info.pm index f68f8ce9..fbcb2f6c 100644 --- a/Info.pm +++ b/Info.pm @@ -33,8 +33,6 @@ SNMP::Info - Version 0.9 =head1 AUTHOR -Max Baker - SNMP::Info was created at UCSC for the netdisco project (www.netdisco.org) and is written and maintained by Max Baker. @@ -91,7 +89,7 @@ and is written and maintained by Max Baker. =head1 SUPPORT Please direct all support, help, and bug requests to the snmp-info-users Mailing List -at L +at . =head1 DESCRIPTION @@ -137,17 +135,28 @@ of the net-snmp distribution. Net-SNMP can be found at http://net-snmp.sourceforge.net -Version 5.0.2 or greater is recommended. Various version 4's will work, and 5.0.1 is kinda flaky -on the Perl side. 5.1.x isn't tested but should work fine. +Version 5.1.2 or greater is recommended. + +Various version 4's and 5.0 and 5.1 series will work. 5.0.1 is kinda flaky +on the Perl side. + +B: Certain versions that comes with certain versions of Redhat/Fedora doesn't have +the Perl library installed. Uninstall the RPM and install by hand. =item 2. MIBS -SNMP::Info operates on textual descriptors found in MIBs. MIBs are text databases that -are freely and easily obtainable on the Net. +SNMP::Info operates on textual descriptors found in MIBs. + +If you are using SNMP::Info separate from Netdisco, +download the Netdisco-MIB package at + + http://sourceforge.net/project/showfiles.php?group_id=80033&package_id=135517 Make sure that your snmp.conf is updated to point to your MIB directory and that the MIBs are world-readable. +B: + Then run C and setup that directory as default. Move F into F when you are done. @@ -189,28 +198,6 @@ by running cd /usr/local/share/snmp/mibs tar xvfz /path/to/v1.tar.gz BRIDGE-MIB.my SNMP-REPEATER-MIB.my ESSWITCH-MIB.my TOKEN-RING-RMON-MIB.my -=item Fix CISCO-TC-MIB - -There is a problem with the Cisco file F which -is included from lots of other MIBs. Make the following changes -if you run into errors about C in this file. - -Edit F - -Comment out line 192 that says C with two dashes. - - -- SMI Unsigned32 - -Add C to the imports after line 19: - - IMPORTS - MODULE-IDENTITY, - Gauge32, - Integer32, - Counter64, - Unsigned32, - FROM SNMPv2-SMI - =item More Specific MIBs Some non-cisco subclasses will need MIBs other than the basic one available from Cisco. @@ -266,7 +253,9 @@ Required MIBs not included in the install instructions above are noted here. =head3 MIB Subclasses These subclasses implement method to access one or more MIBs. These are not -used directly, but rather inherited from device subclasses. +used directly, but rather inherited from device subclasses. + +For more info run C on any of the following module names. =over @@ -280,13 +269,17 @@ CISCO-CDP-MIB. Cisco Discovery Protocol (CDP) Support. Inherited by devices se =item SNMP::Info::CiscoStack -CISCO-STACK-MIB. +CISCO-STACK-MIB and CISCO-PORT-SECURITY-MIB =item SNMP::Info::CiscoStats Provides common interfaces for memory, cpu, and os statistics for Cisco devices. Provides methods for information in : OLD-CISCO-CPU-MIB, CISCO-PROCESS-MIB and CISCO-MEMORY-POOL-MIB +=item SNMP::Info::CiscoVTP + +CISCO-VTP-MIB, CISCO-VLAN-MEMBERSHIP-MIB, CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB + =item SNMP::Info::Entity ENTITY-MIB. Used for device info in Cisco and other vendors. @@ -295,6 +288,10 @@ ENTITY-MIB. Used for device info in Cisco and other vendors. ETHERLIKE-MIB (RFC1398) - Some Layer3 devices implement this MIB, as well as some Aironet Layer 2 devices (non Cisco). +=item SNMP::Info::FDP + +Foundry Discovery Protocol. FOUNDRY-SN-SWITCH-GROUP-MIB + =item SNMP::Info::MAU MAU-MIB (RFC2668). Some Layer2 devices use this for extended Ethernet (Media Access Unit) interface information. @@ -303,27 +300,23 @@ MAU-MIB (RFC2668). Some Layer2 devices use this for extended Ethernet (Media Ac S5-AGENT-MIB, S5-CHASSIS-MIB. -See SNMP::Info::NortelStack for where to get MIBs required. - =item SNMP::Info::RapidCity RAPID-CITY. Inhertited by Nortel Networks switches for duplex and VLAN information. -See SNMP::Info::RapidCity for where to get MIBs required. - =item SNMP::Info::SONMP SYNOPTICS-ROOT-MIB, S5-ETH-MULTISEG-TOPOLOGY-MIB. Provides translation from Nortel Networks Topology Table information to CDP. Inherited by Nortel/Bay switches and hubs. -See SNMP::Info::SONMP for where to get MIBs required. - =back =head3 Device Subclasses -These subclasses inherit from one or more classes to provide a common interface to data obtainable -from network devices. +These subclasses inherit from one or more classes to provide a common interface +to data obtainable from network devices. + +All the required MIB files are included in the netdisco-mib package. (See Above). =over @@ -373,6 +366,10 @@ Layer3::Aironet for Aironet devices that don't run IOS. Allied Telesys switches. +=item SNMP::Info::Layer2::Bay + +Depricated. Use BayStack. + =item SNMP::Info::Layer2::Baystack Subclass for Nortel/Bay Baystack switches. This includes 303, 304, 350, 380, @@ -462,6 +459,10 @@ Subclass for Cisco Catalyst 3550,3540,3560 2/3 switches running IOS. This class covers Catalyst 6500s in native mode, hybrid mode. Catalyst 4000's, 3750's, 2970's and probably others. +=item SNMP::Info::Layer3::Cisco + +This is a simple wrapper around Layer3 for IOS devices. It adds on CiscoVTP. + =item SNMP::Info::Layer3::Contivity Subclass for Nortel Networks' Contivity VPN concentrators. @@ -481,7 +482,7 @@ See SNMP::Info::Layer3::Foundry for more info. Subclass for Nortel Networks' Passport 8600 series switches. See SNMP::Info::Layer3::Passport for where to get MIBs required. - + =back =back @@ -1393,7 +1394,7 @@ for set operations to work. NOTE: This will only set data listed in %FUNCS and %GLOBALS. For data acquired from overriden methods (subroutines) specific set_METHOD() subroutines will need to be -added. +added if they haven't been already. =head2 Quiet Mode @@ -1556,7 +1557,8 @@ Sample %MUNGE: =head2 Sample Subclass -Let's make a sample Layer 2 Device subclass : +Let's make a sample Layer 2 Device subclass. This class +will inherit the Cisco Vlan module as an example. ----------------------- snip -------------------------------- @@ -1570,23 +1572,28 @@ Let's make a sample Layer 2 Device subclass : use Exporter; use SNMP::Info::Layer2; + use SNMP::Info::CiscoVTP; - @SNMP::Info::Layer2::Sample::ISA = qw/SNMP::Info::Layer2 Exporter/; + @SNMP::Info::Layer2::Sample::ISA = qw/SNMP::Info::Layer2 + SNMP::Info::CiscoVTP Exporter/; @SNMP::Info::Layer2::Sample::EXPORT_OK = qw//; use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/; %MIBS = (%SNMP::Info::Layer2::MIBS, + %SNMP::Info::CiscoVTP::MIBS, 'SUPER-DOOPER-MIB' => 'supermibobject' ); %GLOBALS = (%SNMP::Info::Layer2::GLOBALS, + %SNMP::Info::CiscoVTP::GLOBALS, 'name' => 'supermib_supername', 'favorite_color' => 'supermib_fav_color_object', 'favorite_movie' => 'supermib_fav_movie_val' ); %FUNCS = (%SNMP::Info::Layer2::FUNCS, + %SNMP::Info::CiscoVTP::FUNCS, # Super Dooper MIB - Super Hero Table 'super_hero_index' => 'SuperHeroIfIndex', 'super_hero_name' => 'SuperHeroIfName', @@ -1595,6 +1602,7 @@ Let's make a sample Layer 2 Device subclass : %MUNGE = (%SNMP::Info::Layer2::MUNGE, + %SNMP::Info::CiscoVTP::MUNGE, 'super_hero_powers' => \&munge_powers ); @@ -1605,7 +1613,7 @@ Let's make a sample Layer 2 Device subclass : my $name = $sample->name(); # this is silly but you get the idea - return '600' if defined $name ; + return '600' if defined $name ; } # Create our own munge function