pod updates

This commit is contained in:
Max Baker
2009-06-12 22:25:32 +00:00
parent c88449151e
commit 5f9c2d3e62

161
Info.pm
View File

@@ -1,6 +1,6 @@
# SNMP::Info # SNMP::Info
# #
# Copyright (c) 2003-2009 Max Baker # Copyright (c) 2003-2009 Max Baker and SNMP::Info Developers
# All rights reserved. # All rights reserved.
# #
# Portions Copyright (c) 2002-2003, Regents of the University of California # Portions Copyright (c) 2002-2003, Regents of the University of California
@@ -23,7 +23,7 @@ use vars
qw/$VERSION $VERSION_CVS %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG %SPEED_MAP qw/$VERSION $VERSION_CVS %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG %SPEED_MAP
$NOSUCH $BIGINT $REPEATERS/; $NOSUCH $BIGINT $REPEATERS/;
$VERSION = '2.00'; $VERSION = '2.01';
$VERSION_CVS = '$Id$'; $VERSION_CVS = '$Id$';
=head1 NAME =head1 NAME
@@ -32,15 +32,22 @@ SNMP::Info - Object Oriented Perl5 Interface to Network devices and MIBs through
=head1 VERSION =head1 VERSION
SNMP::Info - Version 2.00 SNMP::Info - Version 2.01
=head1 AUTHOR =head1 AUTHOR
SNMP::Info was created at UCSC for the netdisco project (www.netdisco.org) SNMP::Info is maintained by team of Open Source authors headed by Eric Miller
and was originally written by Max Baker. and Bill Fenner.
Currently being maintained by team of Open Source authors headed by Please visit L<http://sourceforge.net/projects/snmp-info/> for most up-to-date
Eric Miller and Bill Fenner. list of developers.
SNMP::Info was originally created at UCSC for the Netdisco project L<http://netdisco.org>
by Max Baker.
=head1 DEVICES SUPPORTED
See L<http://netdisco.org/doc/DeviceMatrix.html> or L<DeviceMatrix.txt> for more details.
=head1 SYNOPSIS =head1 SYNOPSIS
@@ -108,9 +115,6 @@ Mailing List at <http://lists.sourceforge.net/lists/listinfo/snmp-info-users>.
SNMP::Info gives an object oriented interface to information obtained through SNMP::Info gives an object oriented interface to information obtained through
SNMP. SNMP.
This module lives at http://snmp-info.sourceforge.net Check for newest
version and documentation.
This module is geared towards network devices. Subclasses exist for a number This module is geared towards network devices. Subclasses exist for a number
of network devices and common MIBs. of network devices and common MIBs.
@@ -151,12 +155,9 @@ distribution.
Net-SNMP can be found at http://net-snmp.sourceforge.net Net-SNMP can be found at http://net-snmp.sourceforge.net
Version 5.1.2 or greater is recommended. Version 5.3.2 or greater is recommended.
Various version 4's and 5.0 and 5.1 series will work. 5.0.1 is kinda flaky Versions 5.0.1, 5.0301 and 5.0203 have issues with bulkwalk and are not supported.
on the Perl side.
Versions 5.0301 and 5.0203 have issues with bulkwalk, turn off bulkwalk.
B<Redhat Users>: Some versions that come with certain versions of B<Redhat Users>: Some versions that come with certain versions of
Redhat/Fedora don't have the Perl library installed. Uninstall the RPM and Redhat/Fedora don't have the Perl library installed. Uninstall the RPM and
@@ -167,9 +168,7 @@ install by hand.
SNMP::Info operates on textual descriptors found in MIBs. SNMP::Info operates on textual descriptors found in MIBs.
If you are using SNMP::Info separate from Netdisco, If you are using SNMP::Info separate from Netdisco,
download the Netdisco MIB package at download the Netdisco MIB package at L<http://sourceforge.net/project/showfiles.php?group_id=80033&package_id=135517>
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 Make sure that your snmp.conf is updated to point to your MIB directory
and that the MIBs are world-readable. and that the MIBs are world-readable.
@@ -268,6 +267,12 @@ F<CISCO-PORT-SECURITY-MIB> and F<CISCO-PAE-MIB>.
See documentation in L<SNMP::Info::CiscoPortSecurity> for details. See documentation in L<SNMP::Info::CiscoPortSecurity> for details.
=item SNMP::Info::CiscoPower
F<CISCO-POWER-ETHERNET-EXT-MIB>.
See documentation in L<SNMP::Info::CiscoPower> for details.
=item SNMP::Info::CiscoQOS =item SNMP::Info::CiscoQOS
F<CISCO-CLASS-BASED-QOS-MIB>. A collection of OIDs providing information about F<CISCO-CLASS-BASED-QOS-MIB>. A collection of OIDs providing information about
@@ -288,6 +293,12 @@ F<CISCO-STACK-MIB>.
See documentation in L<SNMP::Info::CiscoStack> for details. See documentation in L<SNMP::Info::CiscoStack> for details.
=item SNMP::Info::CiscoStpExtensions
F<CISCO-STP-EXTENSIONS-MIB>
See documentation in L<SNMP::Info::CiscoStpExtensions> for details.
=item SNMP::Info::CiscoStats =item SNMP::Info::CiscoStats
F<OLD-CISCO-CPU-MIB>, F<CISCO-PROCESS-MIB>, and F<CISCO-MEMORY-POOL-MIB>. F<OLD-CISCO-CPU-MIB>, F<CISCO-PROCESS-MIB>, and F<CISCO-MEMORY-POOL-MIB>.
@@ -311,7 +322,7 @@ See documentation in L<SNMP::Info::Entity> for details.
=item SNMP::Info::EtherLike =item SNMP::Info::EtherLike
F<ETHERLIKE-MIB> (RFC1398) - Some Layer3 devices implement this MIB, as well F<EtherLike-MIB> (RFC1398) - Some Layer3 devices implement this MIB, as well
as some Aironet Layer 2 devices (non Cisco). as some Aironet Layer 2 devices (non Cisco).
See documentation in L<SNMP::Info::EtherLike> for details. See documentation in L<SNMP::Info::EtherLike> for details.
@@ -349,6 +360,12 @@ F<S5-AGENT-MIB>, F<S5-CHASSIS-MIB>.
See documentation in L<SNMP::Info::NortelStack> for details. See documentation in L<SNMP::Info::NortelStack> for details.
=item SNMP::Info::PowerEthernet
F<POWER-ETHERNET-MIB>
See documentation in L<SNMP::Info::PowerEthernet> for details.
=item SNMP::Info::RapidCity =item SNMP::Info::RapidCity
F<RAPID-CITY>. Inherited by Nortel switches for duplex and VLAN information. F<RAPID-CITY>. Inherited by Nortel switches for duplex and VLAN information.
@@ -524,6 +541,12 @@ Subclass for Nortel 222x series wireless access points.
See documentation in L<SNMP::Info::Layer2::NAP222x> for details. See documentation in L<SNMP::Info::Layer2::NAP222x> for details.
=item SNMP::Info::Layer2::Netgear
Subclass for Netgear switches
See documentation in L<SNMP::Info::Layer2::Netgear> for details.
=item SNMP::Info::Layer2::Orinoco =item SNMP::Info::Layer2::Orinoco
Subclass for Orinoco/Proxim wireless access points. Subclass for Orinoco/Proxim wireless access points.
@@ -557,6 +580,12 @@ Note Layer2::Aironet
See documentation in L<SNMP::Info::Layer3::Aironet> for details. See documentation in L<SNMP::Info::Layer3::Aironet> for details.
=item SNMP::Info::Layer3::AlcatelLucent
Alcatel-Lucent OmniSwitch Class.
See documentation in L<SNMP::Info::Layer3::AlcatelLucent> for details.
=item SNMP::Info::Layer3::AlteonAD =item SNMP::Info::Layer3::AlteonAD
Subclass for Nortel Alteon Series Layer 2-7 load balancing switches Subclass for Nortel Alteon Series Layer 2-7 load balancing switches
@@ -564,6 +593,14 @@ and Nortel BladeCenter Layer2-3 GbE Switch Modules.
See documentation in L<SNMP::Info::Layer3::AlteonAD> for details. See documentation in L<SNMP::Info::Layer3::AlteonAD> for details.
=item SNMP::Info::Layer3::Altiga
See documentation in L<SNMP::Info::Layer3::Altiga> for details.
=item SNMP::Info::Layer3::Arista
See documentation in L<SNMP::Info::Layer3::Arista> for details.
=item SNMP::Info::Layer3::BayRS =item SNMP::Info::Layer3::BayRS
Subclass for Nortel Multiprotocol/BayRS routers. This includes BCN, BLN, ASN, Subclass for Nortel Multiprotocol/BayRS routers. This includes BCN, BLN, ASN,
@@ -678,6 +715,12 @@ Subclass for Generic Sun Routers running SunOS.
See documentation in L<SNMP::Info::Layer3::Sun> for details. See documentation in L<SNMP::Info::Layer3::Sun> for details.
=item SNMP::Info::Layer3::Timetra
Alcatel-Lucent SR Class.
See documentation in L<SNMP::Info::Layer3::Timetra> for details.
=back =back
=back =back
@@ -1098,71 +1141,8 @@ SNMP::Info::Layer3 subclasses.
If the device still can be connected to via SNMP::Info, then If the device still can be connected to via SNMP::Info, then
SNMP::Info is returned. SNMP::Info is returned.
Algorithm for Subclass Detection: See L<http://netdisco.org/doc/DeviceMatrix.html> or L<DeviceMatrix.txt> for more details
about device support, or view C<device_type()> in F<Info.pm>.
Layer3 Support -> SNMP::Info::Layer3
Aironet (BR500,AP340,350,1200) -> SNMP::Info::Layer3::Aironet
AP4800... All Non IOS
Alcatel-Lucent OmniSwitch -> SNMP::Info::Layer3::AlcatelLucent
Alcatel-Lucent Service Router -> SNMP::Info::Layer3::Timetra
Catalyst 3550,3548,3560 -> SNMP::Info::Layer3::C3550
Catalyst 4000,4500 -> SNMP::Info::Layer3::C4000
Catalyst 6500,3750 -> SNMP::Info::Layer3::C6500
Cisco Generic L3 IOS device -> SNMP::Info::Layer3::Cisco
Cyclades terminal server -> SNMP::Info::Layer1::Cyclades
Dell PowerConnect -> SNMP::Info::Layer3::Dell
D-Link -> SNMP::Info::Layer3::Dell
Enterasys -> SNMP::Info::Layer3::Enterasys
Extreme -> SNMP::Info::Layer3::Extreme
Foundry -> SNMP::Info::Layer3::Foundry
HP Procurve -> SNMP::Info::Layer2::HP
HP Procurve 9300 series -> SNMP::Info::Layer3::HP9300
Juniper -> SNMP::Info::Layer3::Juniper
Microsoft -> SNMP::Info::Layer3::Microsoft
Net-SNMP -> SNMP::Info::Layer3::NetSNMP
Nortel Passport/Accelar LAN -> SNMP::Info::Layer3::Passport
Nortel/Bay Baystack -> SNMP::Info::Layer2::Baystack
Alteon Ace Director -> SNMP::Info::Layer3::AlteonAD
Nortel Contivity -> SNMP::Info::Layer3::Contivity
Nortel BayRS Router -> SNMP::Info::Layer3::BayRS
Sun Router -> SNMP::Info::Layer3::Sun
Elsif Layer2 (no Layer3) -> SNMP::Info::Layer2
Aironet - IOS Devices -> SNMP::Info::Layer2::Aironet
Catalyst 1900 -> SNMP::Info::Layer2::C1900
Catalyst 2900XL,2940,2950,
3500XL -> SNMP::Info::Layer2::C2900
Catalyst 2960, 2970 -> SNMP::Info::Layer3::C6500
Catalyst 3550/3548 -> SNMP::Info::Layer3::C3550
Cisco 3400 w/ MetroBase -> SNMP::Info::Layer3::C3550
Catalyst WS-C 2926,5xxx -> SNMP::Info::Layer2::Catalyst
Cisco (Airespace) Wireless -> SNMP::Info::Layer2::Airespace
Cisco (not covered by above) -> SNMP::Info::Layer2::Cisco
Cyclades terminal server -> SNMP::Info::Layer1::Cyclades
Dell PowerConnect -> SNMP::Info::Layer3::Dell
D-Link -> SNMP::Info::Layer3::Dell
Enterasys -> SNMP::Info::Layer3::Enterasys
Extreme -> SNMP::Info::Layer3::Extreme
Foundry -> SNMP::Info::Layer3::Foundry
HP Procurve -> SNMP::Info::Layer2::HP
HP Procurve 9300 series -> SNMP::Info::Layer3::HP9300
IBM BladeCenter GbESM -> SNMP::Info::Layer3::Dell
Nortel/Bay Centillion ATM -> SNMP::Info::Layer2::Centillion
Nortel/Bay Baystack -> SNMP::Info::Layer2::Baystack
Nortel Business Ethernet Switch-> SNMP::Info::Layer2::Baystack
Nortel Passport/Accelar 8100 -> SNMP::Info::Layer3::Passport
Nortel AP 222x -> SNMP::Info::Layer2::NAP222x
Orinco AP -> SNMP::Info::Layer2::Orinoco
Nortel 2270 WSS -> SNMP::Info::Layer2::N2270
Elsif Layer1 Support -> SNMP::Info::Layer1
Allied -> SNMP::Info::Layer1::Allied
Asante -> SNMP::Info::Layer1::Asante
Nortel/Bay Hub -> SNMP::Info::Layer1::Bayhub
Bay/Synoptics Hub -> SNMP::Info::Layer1::S3000
Else -> SNMP::Info
ZyXEL_DSLAM -> SNMP::Info::Layer2::ZyXEL_DSLAM
Aruba wireless -> SNMP::Info::Layer2::Aruba
Alcatel OmniAccess -> SNMP::Info::Layer2::Aruba
Juniper NetScreen -> SNMP::Info::Layer3::Netscreen
=cut =cut
@@ -1350,7 +1330,7 @@ sub device_type {
$objtype = 'SNMP::Info::Layer2::NAP222x' $objtype = 'SNMP::Info::Layer2::NAP222x'
if ( $desc =~ /Access\s+Point\s+222/ ); if ( $desc =~ /Access\s+Point\s+222/ );
# Orinco # Orinoco
$objtype = 'SNMP::Info::Layer2::Orinoco' $objtype = 'SNMP::Info::Layer2::Orinoco'
if ( $desc =~ /(AP-\d{3}|WavePOINT)/ ); if ( $desc =~ /(AP-\d{3}|WavePOINT)/ );
@@ -1394,8 +1374,8 @@ sub device_type {
$objtype = 'SNMP::Info::Layer1::Bayhub' $objtype = 'SNMP::Info::Layer1::Bayhub'
if ( $desc =~ /\bBay\s*Stack.*Hub/i ); if ( $desc =~ /\bBay\s*Stack.*Hub/i );
# Synoptics Hub # Synoptics Hub
# This will override Bay Hub only for specific devices supported by this class # This will override Bay Hub only for specific devices supported by this class
$objtype = 'SNMP::Info::Layer1::S3000' $objtype = 'SNMP::Info::Layer1::S3000'
if ( $desc =~ /\bNMM\s+(281|3000|3030)/i ); if ( $desc =~ /\bNMM\s+(281|3000|3030)/i );
@@ -2692,8 +2672,8 @@ sub munge_counter64 {
=item munge_i_up =item munge_i_up
Net-SNMP tends to load C<RFC1213-MIB> first, and so ignores the Net-SNMP tends to load C<RFC1213-MIB> first, and so ignores the
updated enumeration for ifOperStatus in C<IF-MIB>. This munge updated enumeration for C<ifOperStatus> in C<IF-MIB>. This munge
handles the "newer" definitions for the enumeraiton in IF-MIB. handles the "newer" definitions for the enumeration in IF-MIB.
TODO: Get the precedence of MIBs and overriding of MIB data in Net-SNMP TODO: Get the precedence of MIBs and overriding of MIB data in Net-SNMP
figured out. Heirarchy/precendence of MIBS in SNMP::Info. figured out. Heirarchy/precendence of MIBS in SNMP::Info.
@@ -3675,7 +3655,8 @@ sub AUTOLOAD {
=head1 COPYRIGHT AND LICENSE =head1 COPYRIGHT AND LICENSE
Changes from SNMP::Info Version 0.7 and on are: Changes from SNMP::Info Version 0.7 and on are:
Copyright (c) 2003-2008 Max Baker - All rights reserved. Copyright (c) 2003-2009 Max Baker and SNMP::Info Developers
All rights reserved.
Original Code is: Original Code is:
Copyright (c) 2002-2003, Regents of the University of California Copyright (c) 2002-2003, Regents of the University of California