- POD Validation

- POD spell check
- Prep 1.09
This commit is contained in:
Eric Miller
2008-07-07 04:10:39 +00:00
parent 6221228d1f
commit ba85dc670b
69 changed files with 2820 additions and 2760 deletions

343
Info.pm
View File

@@ -1,4 +1,5 @@
# SNMP::Info - Max Baker # SNMP::Info - Max Baker
# $Id$
# #
# Copyright (c) 2003,2004 Max Baker # Copyright (c) 2003,2004 Max Baker
# All rights reserved. # All rights reserved.
@@ -6,7 +7,6 @@
# All rights reserved. # All rights reserved.
# #
# See COPYRIGHT at bottom # See COPYRIGHT at bottom
# $Id$
package SNMP::Info; package SNMP::Info;
$VERSION = '1.09'; $VERSION = '1.09';
@@ -25,7 +25,8 @@ use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG %SPEED_
=head1 NAME =head1 NAME
SNMP::Info - Object Oriented Perl5 Interface to Network devices and MIBs through SNMP. SNMP::Info - Object Oriented Perl5 Interface to Network devices and MIBs through
SNMP.
=head1 VERSION =head1 VERSION
@@ -34,7 +35,7 @@ SNMP::Info - Version 1.09
=head1 AUTHOR =head1 AUTHOR
SNMP::Info was created at UCSC for the netdisco project (www.netdisco.org) SNMP::Info was created at UCSC for the netdisco project (www.netdisco.org)
and was orginally written by Max Baker. and was originally written by Max Baker.
Currently being maintained by team of Open Source authors headed by Eric Miller Currently being maintained by team of Open Source authors headed by Eric Miller
and Bill Fenner. and Bill Fenner.
@@ -97,32 +98,35 @@ and Bill Fenner.
=head1 SUPPORT =head1 SUPPORT
Please direct all support, help, and bug requests to the snmp-info-users Mailing List Please direct all support, help, and bug requests to the snmp-info-users
at <http://lists.sourceforge.net/lists/listinfo/snmp-info-users>. Mailing List at <http://lists.sourceforge.net/lists/listinfo/snmp-info-users>.
=head1 DESCRIPTION =head1 DESCRIPTION
SNMP::Info gives an object oriented interface to information obtained through SNMP. SNMP::Info gives an object oriented interface to information obtained through
SNMP.
This module lives at http://snmp-info.sourceforge.net Check for newest version and This module lives at http://snmp-info.sourceforge.net Check for newest version
documentation. and documentation.
This module is geared towards network devices. Subclasses exist for a number of This module is geared towards network devices. Subclasses exist for a number of
network devices and common MIBs. network devices and common MIBs.
The idea behind this module is to give a common interface to data from network devices, The idea behind this module is to give a common interface to data from network
leaving the device-specific hacks behind the scenes in subclasses. devices, leaving the device-specific hacks behind the scenes in subclasses.
In the SYNOPSIS example we fetch the name of all the ports on the device and the duplex In the SYNOPSIS example we fetch the name of all the ports on the device and
setting for that port with two methods -- interfaces() and i_duplex(). the duplex setting for that port with two methods -- interfaces() and
i_duplex().
The information may be coming from any number of MIB files and is very vendor specific. The information may be coming from any number of MIB files and is very vendor
SNMP::Info provides you a common method for all supported devices. specific. SNMP::Info provides you a common method for all supported devices.
Adding support for your own device is easy, and takes little SNMP knowledge. Adding support for your own device is easy, and takes little SNMP knowledge.
The module is not limited to network devices. Any MIB or device can be given an objected oriented The module is not limited to network devices. Any MIB or device can be given an
front-end by making a module that consists of a couple hashes. See EXTENDING SNMP::INFO. objected oriented front-end by making a module that consists of a couple
hashes. See EXTENDING SNMP::INFO.
=head1 REQUIREMENTS =head1 REQUIREMENTS
@@ -138,9 +142,10 @@ DO NOT INSTALL SNMP:: or Net::SNMP from CPAN!
The SNMP module is matched to an install of net-snmp, and must be installed The SNMP module is matched to an install of net-snmp, and must be installed
from the net-snmp source tree. from the net-snmp source tree.
The Perl module C<SNMP> is found inside the net-snmp distribution. Go to the F<perl/> directory The Perl module C<SNMP> is found inside the net-snmp distribution. Go to the
of the distribution to install it, or run C<./configure --with-perl-modules> from the top directory F<perl/> directory of the distribution to install it, or run
of the net-snmp distribution. C<./configure --with-perl-modules> from the top directory of the net-snmp
distribution.
Net-SNMP can be found at http://net-snmp.sourceforge.net Net-SNMP can be found at http://net-snmp.sourceforge.net
@@ -159,7 +164,7 @@ don't have the Perl library installed. Uninstall the RPM and 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
http://sourceforge.net/project/showfiles.php?group_id=80033&package_id=135517 http://sourceforge.net/project/showfiles.php?group_id=80033&package_id=135517
@@ -194,7 +199,8 @@ SNMP::Info will ask for C<RFC1213-MIB::ifType> and will get back C<ppp>.
You can create a new subclass for a device by providing four hashes : You can create a new subclass for a device by providing four hashes :
%GLOBALS, %MIBS, %FUNCS, and %MUNGE. %GLOBALS, %MIBS, %FUNCS, and %MUNGE.
Or you can override any existing methods from a parent class by making a short subroutine. Or you can override any existing methods from a parent class by making a short
subroutine.
See the section EXTENDING SNMP::INFO for more details. See the section EXTENDING SNMP::INFO for more details.
@@ -221,133 +227,135 @@ For more info run C<perldoc> on any of the following module names.
=item SNMP::Info::Airespace =item SNMP::Info::Airespace
AIRESPACE-WIRELESS-MIB and AIRESPACE-SWITCHING-MIB. Inherited by devices based F<AIRESPACE-WIRELESS-MIB> and F<AIRESPACE-SWITCHING-MIB>. Inherited by devices
on the Airespace wireless platform. based on the Airespace wireless platform.
See documentation in L<SNMP::Info::Airespace> for details. See documentation in L<SNMP::Info::Airespace> for details.
=item SNMP::Info::Bridge =item SNMP::Info::Bridge
BRIDGE-MIB (RFC1286). QBRIDGE-MIB. Inherited by devices with Layer2 support. F<BRIDGE-MIB> (RFC1286). F<QBRIDGE-MIB>. Inherited by devices with Layer2
support.
See documentation in L<SNMP::Info::Bridge> for details. See documentation in L<SNMP::Info::Bridge> for details.
=item SNMP::Info::CDP =item SNMP::Info::CDP
CISCO-CDP-MIB. Cisco Discovery Protocol (CDP) Support. Inherited by Cisco, F<CISCO-CDP-MIB>. Cisco Discovery Protocol (CDP) Support. Inherited by Cisco,
Enterasys, and HP devices. Enterasys, and HP devices.
See documentation in L<SNMP::Info::CDP> for details. See documentation in L<SNMP::Info::CDP> for details.
=item SNMP::Info::CiscoConfig =item SNMP::Info::CiscoConfig
CISCO-CONFIG-COPY-MIB, CISCO-FLASH-MIB, and OLD-CISCO-SYS-MIB. F<CISCO-CONFIG-COPY-MIB>, F<CISCO-FLASH-MIB>, and F<OLD-CISCO-SYS-MIB>.
These OIDs facilitate the writing of configuration files. These OIDs facilitate the writing of configuration files.
See documentation in L<SNMP::Info::CiscoConfig> for details. See documentation in L<SNMP::Info::CiscoConfig> for details.
=item SNMP::Info::CiscoImage =item SNMP::Info::CiscoImage
CISCO-IMAGE-MIB. A collection of OIDs providing IOS image characteristics. F<CISCO-IMAGE-MIB>. A collection of OIDs providing IOS image characteristics.
See documentation in L<SNMP::Info::CiscoImage> for details. See documentation in L<SNMP::Info::CiscoImage> for details.
=item SNMP::Info::CiscoPortSecurity =item SNMP::Info::CiscoPortSecurity
CISCO-PORT-SECURITY-MIB and CISCO-PAE-MIB. 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::CiscoQOS =item SNMP::Info::CiscoQOS
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
a Cisco device's QOS config. a Cisco device's QOS config.
See documentation in L<SNMP::Info::CiscoQOS> for details. See documentation in L<SNMP::Info::CiscoQOS> for details.
=item SNMP::Info::CiscoRTT =item SNMP::Info::CiscoRTT
CISCO-RTTMON-MIB. A collection of OIDs providing information about a Cisco F<CISCO-RTTMON-MIB>. A collection of OIDs providing information about a Cisco
device's RTT values. device's RTT values.
See documentation in L<SNMP::Info::CiscoRTT> for details. See documentation in L<SNMP::Info::CiscoRTT> for details.
=item SNMP::Info::CiscoStack =item SNMP::Info::CiscoStack
CISCO-STACK-MIB. 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::CiscoStats =item SNMP::Info::CiscoStats
OLD-CISCO-CPU-MIB, CISCO-PROCESS-MIB, and CISCO-MEMORY-POOL-MIB. Provides F<OLD-CISCO-CPU-MIB>, F<CISCO-PROCESS-MIB>, and F<CISCO-MEMORY-POOL-MIB>.
common interfaces for memory, cpu, and os statistics for Cisco devices. Provides common interfaces for memory, cpu, and os statistics for Cisco devices.
See documentation in L<SNMP::Info::CiscoStats> for details. See documentation in L<SNMP::Info::CiscoStats> for details.
=item SNMP::Info::CiscoVTP =item SNMP::Info::CiscoVTP
CISCO-VTP-MIB, CISCO-VLAN-MEMBERSHIP-MIB, CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB F<CISCO-VTP-MIB>, F<CISCO-VLAN-MEMBERSHIP-MIB>,
F<CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB>
See documentation in L<SNMP::Info::CiscoVTP> for details. See documentation in L<SNMP::Info::CiscoVTP> for details.
=item SNMP::Info::Entity =item SNMP::Info::Entity
ENTITY-MIB. Used for device info in Cisco and other vendors. F<ENTITY-MIB>. Used for device info in Cisco and other vendors.
See documentation in L<SNMP::Info::Entity> for details. See documentation in L<SNMP::Info::Entity> for details.
=item SNMP::Info::EtherLike =item SNMP::Info::EtherLike
ETHERLIKE-MIB (RFC1398) - Some Layer3 devices implement this MIB, as well as F<ETHERLIKE-MIB> (RFC1398) - Some Layer3 devices implement this MIB, as well as
some Aironet Layer 2 devices (non Cisco). 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.
=item SNMP::Info::FDP =item SNMP::Info::FDP
Foundry Discovery Protocol. FOUNDRY-SN-SWITCH-GROUP-MIB Foundry Discovery Protocol. F<FOUNDRY-SN-SWITCH-GROUP-MIB>
See documentation in L<SNMP::Info::FDP> for details. See documentation in L<SNMP::Info::FDP> for details.
=item SNMP::Info::IEEE802dot11 =item SNMP::Info::IEEE802dot11
IEEE802dot11-MIB. A collection of OIDs providing information about standards F<IEEE802dot11-MIB>. A collection of OIDs providing information about standards
based 802.11 wireless devices. based 802.11 wireless devices.
See documentation in L<SNMP::Info::IEEE802dot11> for details. See documentation in L<SNMP::Info::IEEE802dot11> for details.
=item SNMP::Info::LLDP =item SNMP::Info::LLDP
LLDP-MIB, LLDP-EXT-DOT1-MIB, and LLDP-EXT-DOT3-MIB. Link Layer Discovery F<LLDP-MIB>, F<LLDP-EXT-DOT1-MIB>, and F<LLDP-EXT-DOT3-MIB>. Link Layer
Protocol (LLDP) Support. Discovery Protocol (LLDP) Support.
See documentation in L<SNMP::Info::LLDP> for details. See documentation in L<SNMP::Info::LLDP> for details.
=item SNMP::Info::MAU =item SNMP::Info::MAU
MAU-MIB (RFC2668). Some Layer2 devices use this for extended Ethernet F<MAU-MIB> (RFC2668). Some Layer2 devices use this for extended Ethernet
(Media Access Unit) interface information. (Media Access Unit) interface information.
See documentation in L<SNMP::Info::MAU> for details. See documentation in L<SNMP::Info::MAU> for details.
=item SNMP::Info::NortelStack =item SNMP::Info::NortelStack
S5-AGENT-MIB, S5-CHASSIS-MIB. 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::RapidCity =item SNMP::Info::RapidCity
RAPID-CITY. Inhertited by Nortel switches for duplex and VLAN information. F<RAPID-CITY>. Inherited by Nortel switches for duplex and VLAN information.
See documentation in L<SNMP::Info::RapidCity> for details. See documentation in L<SNMP::Info::RapidCity> for details.
=item SNMP::Info::SONMP =item SNMP::Info::SONMP
SYNOPTICS-ROOT-MIB, S5-ETH-MULTISEG-TOPOLOGY-MIB. Provides translation from F<SYNOPTICS-ROOT-MIB>, F<S5-ETH-MULTISEG-TOPOLOGY-MIB>. Provides translation
Nortel Topology Table information to CDP. Inherited by Nortel/Bay/Synoptics from Nortel Topology Table information to CDP. Inherited by
switches and hubs. Nortel/Bay/Synoptics switches and hubs.
See documentation in L<SNMP::Info::SONMP> for details. See documentation in L<SNMP::Info::SONMP> for details.
@@ -358,7 +366,8 @@ See documentation in L<SNMP::Info::SONMP> for details.
These subclasses inherit from one or more classes to provide a common interface These subclasses inherit from one or more classes to provide a common interface
to data obtainable from network devices. to data obtainable from network devices.
All the required MIB files are included in the netdisco-mib package. (See Above). All the required MIB files are included in the netdisco-mib package.
(See Above).
=over =over
@@ -374,7 +383,7 @@ See documentation in L<SNMP::Info::Layer1> for details.
Subclass for Allied Telesys Repeaters / Hubs. Subclass for Allied Telesys Repeaters / Hubs.
Requires ATI-MIB Requires F<ATI-MIB>
See documentation in L<SNMP::Info::Layer1::Allied> for details. See documentation in L<SNMP::Info::Layer1::Allied> for details.
@@ -382,7 +391,7 @@ See documentation in L<SNMP::Info::Layer1::Allied> for details.
Subclass for Asante 1012 Hubs. Subclass for Asante 1012 Hubs.
Requires ASANTE-HUB1012-MIB Requires F<ASANTE-HUB1012-MIB>
See documentation in L<SNMP::Info::Layer1::Asante> for details. See documentation in L<SNMP::Info::Layer1::Asante> for details.
@@ -495,7 +504,7 @@ Depreciated. Use SNMP::Info::Layer3::Foundry.
Subclass for HP Procurve Switches Subclass for HP Procurve Switches
Requires HP-ICF-OID and ENTITY-MIB downloaded from HP. Requires F<HP-ICF-OID> and F<ENTITY-MIB> downloaded from HP.
See documentation in L<SNMP::Info::Layer2::HP> for details. See documentation in L<SNMP::Info::Layer2::HP> for details.
@@ -712,7 +721,8 @@ Returns an object of a more specific device class
=item BigInt =item BigInt
Return Math::BigInt objects for 64 bit counters. Sets on a global scope, not object. Return Math::BigInt objects for 64 bit counters. Sets on a global scope,
not object.
(default off) (default off)
@@ -726,7 +736,8 @@ Note that BULKWALK is turned off for Net-SNMP versions 5.1.x because of a bug.
=item BulkRepeaters =item BulkRepeaters
Set number of MaxRepeaters for BULKWALK operation. See C<perldoc SNMP> -> bulkwalk() for more info. Set number of MaxRepeaters for BULKWALK operation. See
C<perldoc SNMP> -> bulkwalk() for more info.
(default 20) (default 20)
@@ -735,7 +746,7 @@ Set number of MaxRepeaters for BULKWALK operation. See C<perldoc SNMP> -> bulkw
Detects looping during getnext table column walks by comparing IIDs for each Detects looping during getnext table column walks by comparing IIDs for each
instance. A loop is detected if the same IID is seen more than once and the instance. A loop is detected if the same IID is seen more than once and the
walk is aborted. Note: This will not detect loops during a bulkwalk walk is aborted. Note: This will not detect loops during a bulkwalk
operation, Net-SNMP's internal bulkwalk function must detect the loop. operation, Net-'s internal bulkwalk function must detect the loop.
Set to C<0> to turn off loop detection. Set to C<0> to turn off loop detection.
@@ -752,7 +763,7 @@ Pass 2 to print even more debugging messages.
Set $SNMP::debugging level for Net-SNMP. Set $SNMP::debugging level for Net-SNMP.
See L<SNMP> for more details. See F<SNMP> for more details.
=item MibDirs =item MibDirs
@@ -793,14 +804,14 @@ you create the device object to see if there was a problem in connecting.
A note about SNMP Versions : A note about SNMP Versions :
Some older devices don't support SNMP version 2, and will not return anything when a Some older devices don't support SNMP version 2, and will not return anything
connection under Version 2 is attempted. when a connection under Version 2 is attempted.
Some newer devices will support Version 1, but will not return all the data they might have Some newer devices will support Version 1, but will not return all the data
if you had connected under Version 1 they might have if you had connected under Version 1
When trying to get info from a new device, you may have to try version 2 and then fallback to When trying to get info from a new device, you may have to try version 2 and
version 1. then fallback to version 1.
=cut =cut
@@ -924,7 +935,7 @@ Clears the object cache.
This is useful, e.g., when a device supports multiple contexts This is useful, e.g., when a device supports multiple contexts
(via changes to the Community string, or via the SNMPv3 Context (via changes to the Community string, or via the SNMPv3 Context
parameter), but a context that you want to access does not support parameter), but a context that you want to access does not support
the objects (e.g., sysObjectID, sysDescr) that we use to identify the objects (e.g., C<sysObjectID>, C<sysDescr>) that we use to identify
the device. the device.
=cut =cut
@@ -975,7 +986,7 @@ and table methods.
=head2 Object Scalar Methods =head2 Object Scalar Methods
These are for package related data, not direcly supplied These are for package related data, not directly supplied
from SNMP. from SNMP.
=over =over
@@ -1004,7 +1015,8 @@ sub clear_cache {
=item $info->debug(1) =item $info->debug(1)
Returns current debug status, and optionally toggles debugging info for this object. Returns current debug status, and optionally toggles debugging info for this
object.
=cut =cut
@@ -1426,7 +1438,8 @@ sub cisco_comm_indexing{
These are methods to return scalar data from RFC1213. These are methods to return scalar data from RFC1213.
Some subset of these is probably available for any network device that speaks SNMP. Some subset of these is probably available for any network device that speaks
SNMP.
=over =over
@@ -1434,19 +1447,19 @@ Some subset of these is probably available for any network device that speaks SN
Uptime in hundredths of seconds since device became available. Uptime in hundredths of seconds since device became available.
(B<sysUpTime>) (C<sysUpTime>)
=item $info->contact() =item $info->contact()
(B<sysContact>) (C<sysContact>)
=item $info->name() =item $info->name()
(B<sysName>) (C<sysName>)
=item $info->location() =item $info->location()
(B<sysLocation>) (C<sysLocation>)
=item $info->layers() =item $info->layers()
@@ -1461,7 +1474,7 @@ Note: This string is 8 digits long.
See $info->has_layer() See $info->has_layer()
(B<sysServices>) (C<sysServices>)
=item $info->ports() =item $info->ports()
@@ -1470,7 +1483,7 @@ Number of interfaces available on this device.
Not too useful as the number of SNMP interfaces usually does not Not too useful as the number of SNMP interfaces usually does not
correspond with the number of physical ports correspond with the number of physical ports
(B<ifNumber>) (C<ifNumber>)
=item $info->ipforwarding() =item $info->ipforwarding()
@@ -1478,7 +1491,7 @@ The indication of whether the entity is acting as an IP gateway
Returns either forwarding or not-forwarding Returns either forwarding or not-forwarding
(B<ipForwarding>) (C<ipForwarding>)
=back =back
@@ -1518,7 +1531,7 @@ Partial table results are not cached.
=item $info->interfaces() =item $info->interfaces()
This methods is overriden in each subclass to provide a This methods is overridden in each subclass to provide a
mapping between the Interface Table Index (iid) and the physical port name. mapping between the Interface Table Index (iid) and the physical port name.
=item $info->if_ignore() =item $info->if_ignore()
@@ -1526,8 +1539,8 @@ mapping between the Interface Table Index (iid) and the physical port name.
Returns a reference to a hash where key values that exist are Returns a reference to a hash where key values that exist are
interfaces to ignore. interfaces to ignore.
Ignored interfaces are ones that are usually not physical ports or Virtual Lans (VLANs) such as the Loopback interface, Ignored interfaces are ones that are usually not physical ports or Virtual
or the CPU interface. Lans (VLANs) such as the Loopback interface, or the CPU interface.
=cut =cut
@@ -1540,32 +1553,33 @@ sub if_ignore {
Default SNMP IID to Interface index. Default SNMP IID to Interface index.
(B<ifIndex>) (C<ifIndex>)
=item $info->i_description() =item $info->i_description()
Description of the interface. Usually a little longer single word name that is both Description of the interface. Usually a little longer single word name that is
human and machine friendly. Not always. both human and machine friendly. Not always.
(B<ifDescr>) (C<ifDescr>)
=item $info->i_type() =item $info->i_type()
Interface type, such as Vlan, 10baseT, Ethernet, Serial Interface type, such as Vlan, Ethernet, Serial
(B<ifType>) (C<ifType>)
=item $info->i_mtu() =item $info->i_mtu()
INTEGER. Interface MTU value. INTEGER. Interface MTU value.
(B<ifMtu>) (C<ifMtu>)
=item $info->i_speed() =item $info->i_speed()
Speed of the link, human format. See munge_speed() later in document for details. Speed of the link, human format. See munge_speed() later in document for
details.
(B<ifSpeed>, B<ifHighSpeed> if necessary) (C<ifSpeed>, C<ifHighSpeed> if necessary)
=cut =cut
@@ -1590,7 +1604,7 @@ sub i_speed {
Speed of the link in bits per second without munging. Speed of the link in bits per second without munging.
If i_speed_high is available it will be used and multiplied by 1_000_000. If i_speed_high is available it will be used and multiplied by 1_000_000.
(B<ifSpeed>, B<ifHighSpeed> if necessary) (C<ifSpeed>, C<ifHighSpeed> if necessary)
=cut =cut
@@ -1616,45 +1630,46 @@ Speed of a high-speed link, human format. See munge_highspeed() later in
document for details. You should not need to call this directly, as document for details. You should not need to call this directly, as
i_speed() will call it if it needs to. i_speed() will call it if it needs to.
(B<ifHighSpeed>) (C<ifHighSpeed>)
=item $info->i_mac() =item $info->i_mac()
MAC address of the interface. Note this is just the MAC of the port, not anything connected to it. MAC address of the interface. Note this is just the MAC of the port, not
anything connected to it.
(B<ifPhysAddress>) (C<ifPhysAddress>)
=item $info->i_up() =item $info->i_up()
Link Status of the interface. Typical values are 'up' and 'down'. Link Status of the interface. Typical values are 'up' and 'down'.
(B<ifOperStatus>) (C<ifOperStatus>)
=item $info->i_up_admin() =item $info->i_up_admin()
Administrative status of the port. Typical values are 'enabled' and 'disabled'. Administrative status of the port. Typical values are 'enabled' and 'disabled'.
(B<ifAdminStatus>) (C<ifAdminStatus>)
=item $info->i_lastchange() =item $info->i_lastchange()
The value of sysUpTime when this port last changed states (up,down). The value of C<sysUpTime> when this port last changed states (up,down).
(B<ifLastChange>) (C<ifLastChange>)
=item $info->i_name() =item $info->i_name()
Interface Name field. Supported by a smaller subset of devices, this fields is often Interface Name field. Supported by a smaller subset of devices, this fields
human set. is often human set.
(B<ifName>) (C<ifName>)
=item $info->i_alias() =item $info->i_alias()
Interface Name field. For certain devices this is a more human friendly form of i_description(). Interface Name field. For certain devices this is a more human friendly form
For others it is a human set field like i_name(). of i_description(). For others it is a human set field like i_name().
(B<ifAlias>) (C<ifAlias>)
=back =back
@@ -1671,19 +1686,21 @@ Number of octets sent/received on the interface including framing characters.
64 bit version may not exist on all devices. 64 bit version may not exist on all devices.
NOTE: To manipulate 64 bit counters you need to use Math::BigInt, since the values NOTE: To manipulate 64 bit counters you need to use Math::BigInt, since the
are too large for a normal Perl scalar. Set the global $SNMP::Info::BIGINT to 1 , or values are too large for a normal Perl scalar. Set the global
pass the BigInt value to new() if you want SNMP::Info to do it for you. $SNMP::Info::BIGINT to 1 , or pass the BigInt value to new() if you want
SNMP::Info to do it for you.
(B<ifInOctets>) (B<ifOutOctets>) (C<ifInOctets>) (C<ifOutOctets>)
(B<ifHCInOctets>) (B<ifHCOutOctets>) (C<ifHCInOctets>) (C<ifHCOutOctets>)
=item $info->i_errors_in(), $info->i_errors_out() =item $info->i_errors_in(), $info->i_errors_out()
Number of packets that contained an error prventing delivery. See IF-MIB for more info. Number of packets that contained an error preventing delivery. See C<IF-MIB>
for more info.
(B<ifInErrors>) (B<ifOutErrors>) (C<ifInErrors>) (C<ifOutErrors>)
=item $info->i_pkts_ucast_in(), $info->i_pkts_ucast_out(), =item $info->i_pkts_ucast_in(), $info->i_pkts_ucast_out(),
$info->i_pkts_ucast_in64(), $info->i_pkts_ucast_out64() $info->i_pkts_ucast_in64(), $info->i_pkts_ucast_out64()
@@ -1692,17 +1709,17 @@ Number of packets not sent to a multicast or broadcast address.
64 bit version may not exist on all devices. 64 bit version may not exist on all devices.
(B<ifInUcastPkts>) (B<ifOutUcastPkts>) (C<ifInUcastPkts>) (C<ifOutUcastPkts>)
(B<ifHCInUcastPkts>) (B<ifHCOutUcastPkts>) (C<ifHCInUcastPkts>) (C<ifHCOutUcastPkts>)
=item $info->i_pkts_nucast_in(), $info->i_pkts_nucast_out(), =item $info->i_pkts_nucast_in(), $info->i_pkts_nucast_out(),
Number of packets sent to a multicast or broadcast address. Number of packets sent to a multicast or broadcast address.
These methods are depricated by i_pkts_multi_in() and i_pkts_bcast_in() These methods are deprecated by i_pkts_multi_in() and i_pkts_bcast_in()
according to IF-MIB. Actual device usage may vary. according to C<IF-MIB>. Actual device usage may vary.
(B<ifInNUcastPkts>) (B<ifOutNUcastPkts>) (C<ifInNUcastPkts>) (C<ifOutNUcastPkts>)
=item $info->i_pkts_multi_in() $info->i_pkts_multi_out(), =item $info->i_pkts_multi_in() $info->i_pkts_multi_out(),
$info->i_pkts_multi_in64(), $info->i_pkts_multi_out64() $info->i_pkts_multi_in64(), $info->i_pkts_multi_out64()
@@ -1711,8 +1728,8 @@ Number of packets sent to a multicast address.
64 bit version may not exist on all devices. 64 bit version may not exist on all devices.
(B<ifInMulticastPkts>) (B<ifOutMulticastPkts>) (C<ifInMulticastPkts>) (C<ifOutMulticastPkts>)
(B<ifHCInMulticastPkts>) (B<ifHCOutMulticastPkts>) (C<ifHCInMulticastPkts>) (C<ifHCOutMulticastPkts>)
=item $info->i_pkts_bcast_in() $info->i_pkts_bcast_out(), =item $info->i_pkts_bcast_in() $info->i_pkts_bcast_out(),
$info->i_pkts_bcast_in64() $info->i_pkts_bcast_out64() $info->i_pkts_bcast_in64() $info->i_pkts_bcast_out64()
@@ -1721,17 +1738,17 @@ Number of packets sent to a broadcast address on an interface.
64 bit version may not exist on all devices. 64 bit version may not exist on all devices.
(B<ifInBroadcastPkts>) (B<ifOutBroadcastPkts>) (C<ifInBroadcastPkts>) (C<ifOutBroadcastPkts>)
(B<ifHCInBroadcastPkts>) (B<ifHCOutBroadcastPkts>) (C<ifHCInBroadcastPkts>) (C<ifHCOutBroadcastPkts>)
=item $info->i_discards_in() $info->i_discards_out() =item $info->i_discards_in() $info->i_discards_out()
"The number of inbound packets which were chosen to be discarded even though "The number of inbound packets which were chosen to be discarded even though
no errors had been detected to prevent their being deliverable to a no errors had been detected to prevent their being deliverable to a
higher-layer protocol. One possible reason for discarding such a packet could higher-layer protocol. One possible reason for discarding such a packet could
be to free up buffer space." (IF-MIB) be to free up buffer space." (C<IF-MIB>)
(B<ifInDiscards>) (B<ifOutDiscards>) (C<ifInDiscards>) (C<ifOutDiscards>)
=item $info->i_bad_proto_in() =item $info->i_bad_proto_in()
@@ -1743,19 +1760,19 @@ were discarded because of an unknown or unsupported protocol. For any
interface that does not support protocol multiplexing, this counter will always interface that does not support protocol multiplexing, this counter will always
be 0." be 0."
(B<ifInUnknownProtos>) (C<ifInUnknownProtos>)
=item $info->i_qlen_out() =item $info->i_qlen_out()
"The length of the output packet queue (in packets)." "The length of the output packet queue (in packets)."
(B<ifOutQLen>) (C<ifOutQLen>)
=item $info->i_specific() =item $info->i_specific()
See IF-MIB for full description See C<IF-MIB> for full description
(B<ifSpecific>) (C<ifSpecific>)
=back =back
@@ -1770,25 +1787,25 @@ this is implemented in Layer3 Devices.
Maps the IP Table to the IID Maps the IP Table to the IID
(B<ipAdEntIfIndex>) (C<ipAdEntIfIndex>)
=item $info->ip_table() =item $info->ip_table()
Maps the Table to the IP address Maps the Table to the IP address
(B<ipAdEntAddr>) (C<ipAdEntAddr>)
=item $info->ip_netmask() =item $info->ip_netmask()
Gives netmask setting for IP table entry. Gives netmask setting for IP table entry.
(B<ipAdEntNetMask>) (C<ipAdEntNetMask>)
=item $info->ip_broadcast() =item $info->ip_broadcast()
Gives broadcast address for IP table entry. Gives broadcast address for IP table entry.
(B<ipAdEntBcastAddr>) (C<ipAdEntBcastAddr>)
=back =back
@@ -1952,21 +1969,23 @@ Returns undef if failed, or the return value from SNMP::Session::set() (snmp_err
=back =back
NOTE: You must be connected to your device with a C<ReadWrite> community string in order NOTE: You must be connected to your device with a C<ReadWrite> community
for set operations to work. string in order for set operations to work.
NOTE: This will only set data listed in %FUNCS and %GLOBALS. For data acquired from NOTE: This will only set data listed in %FUNCS and %GLOBALS. For data acquired
overriden methods (subroutines) specific set_METHOD() subroutines will need to be from overridden methods (subroutines) specific set_METHOD() subroutines will
added if they haven't been already. need to be added if they haven't been already.
=head1 Quiet Mode =head1 Quiet Mode
SNMP::Info will not chirp anything to STDOUT unless there is a serious error (in which case it will probably SNMP::Info will not chirp anything to STDOUT unless there is a serious error
die). (in which case it will probably die).
To get lots of debug info, set the Debug flag when calling new() or call $info->debug(1); To get lots of debug info, set the Debug flag when calling new() or
call $info->debug(1);
When calling a method check the return value. If the return value is undef then check $info->error() When calling a method check the return value. If the return value is undef
then check $info->error()
Beware, calling $info->error() clears the error. Beware, calling $info->error() clears the error.
@@ -1976,8 +1995,7 @@ Beware, calling $info->error() clears the error.
=head2 Data Structures required in new Subclass =head2 Data Structures required in new Subclass
A class inheriting this class must implement these data A class inheriting this class must implement these data structures :
structures :
=over =over
@@ -2023,7 +2041,7 @@ the SNMP::Info methods.
=item %FUNCS =item %FUNCS
Contains a hash in the form ( method_name => SNMP MIB leaf name) Contains a hash in the form ( method_name => SNMP MIB leaf name)
These are table entries, such as the IfIndex These are table entries, such as the C<ifIndex>
To resolve MIB leaf name conflicts between private MIBs, you may prefix the To resolve MIB leaf name conflicts between private MIBs, you may prefix the
leaf name with the MIB replacing each - (dash) and : (colon) with leaf name with the MIB replacing each - (dash) and : (colon) with
@@ -2099,7 +2117,7 @@ ALTEON-TS-PHYSICAL-MIB::agPortCurCfgPortName.
A list of each mib needed. A list of each mib needed.
('MIB-NAME' => 'itemToTestForPresence') C<('MIB-NAME' => 'itemToTestForPresence')>
The value for each entry should be a MIB object to check for to make sure The value for each entry should be a MIB object to check for to make sure
that the MIB is present and has loaded correctly. that the MIB is present and has loaded correctly.
@@ -2257,9 +2275,9 @@ These set the default value for an object upon creation.
=item $DEBUG =item $DEBUG
Default 0. Sends copious debug info to stdout. This global sets the object's debug status Default 0. Sends copious debug info to stdout. This global sets the object's
in new() unless 'Debug' argument passed in new(). Change objects' debug status with debug status in new() unless 'Debug' argument passed in new(). Change objects'
$info->debug(). debug status with $info->debug().
=cut =cut
@@ -2267,8 +2285,9 @@ $DEBUG = 0;
=item $BIGINT =item $BIGINT
Default 0. Set to true to have 64 bit counters return Math::BigInt objects instead of scalar Default 0. Set to true to have 64 bit counters return Math::BigInt objects
string values. See note under Interface Statistics about 64 bit values. instead of scalar string values. See note under Interface Statistics about
64 bit values.
=cut =cut
@@ -2276,8 +2295,8 @@ $BIGINT = 0;
=item $NOSUCH =item $NOSUCH
Default 1. Set to false to disable RetryNoSuch option for SNMP::Session. Or see method in new() Default 1. Set to false to disable RetryNoSuch option for SNMP::Session. Or
to do it on an object scope. see method in new() to do it on an object scope.
=cut =cut
@@ -2285,8 +2304,8 @@ $NOSUCH = 1;
=item $REPEATERS =item $REPEATERS
Default 20. MaxRepeaters for BULKWALK operations. See C<perldoc SNMP> for more info. Can change Default 20. MaxRepeaters for BULKWALK operations. See C<perldoc SNMP> for
by passing L<BulkRepeaters> option in new() more info. Can change by passing L<BulkRepeaters> option in new()
=cut =cut
@@ -2390,7 +2409,7 @@ sub munge_speed {
=item munge_highspeed() =item munge_highspeed()
Makes human friendly speed ratings for ifHighSpeed Makes human friendly speed ratings for C<ifHighSpeed>
=cut =cut
@@ -2427,7 +2446,8 @@ sub munge_ip {
=item munge_mac() =item munge_mac()
Takes an octet stream (HEX-STRING) and returns a colon separated ASCII hex string. Takes an octet stream (HEX-STRING) and returns a colon separated ASCII hex
string.
=cut =cut
@@ -2442,7 +2462,8 @@ sub munge_mac {
=item munge_prio_mac() =item munge_prio_mac()
Takes an 8-byte octet stream (HEX-STRING) and returns a colon separated ASCII hex string. Takes an 8-byte octet stream (HEX-STRING) and returns a colon separated ASCII
hex string.
=cut =cut
@@ -2513,12 +2534,12 @@ sub munge_counter64 {
=item munge_i_up =item munge_i_up
There is a collision between data in IF-MIB and RFC-1213. There is a collision between data in C<IF-MIB> and C<RFC-1213>.
For devices that fully implement IF-MIB it might return 7 for For devices that fully implement C<IF-MIB> it might return 7 for
a port that is down. This munges the data against the IF-MIB a port that is down. This munges the data against the C<IF-MIB>
by hand. by hand.
TODO: Get the precidence 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.
=cut =cut
@@ -2553,7 +2574,7 @@ sub munge_port_list {
=back =back
=head2 Internaly Used Functions =head2 Internally Used Functions
=over =over
@@ -2679,7 +2700,7 @@ sub mibs {
=item $info->munge() =item $info->munge()
Returns a reference ot the %MUNGE hash. Returns a reference of the %MUNGE hash.
=cut =cut
@@ -2809,7 +2830,7 @@ sub _global{
Used internally by AUTOLOAD to run an SNMP set command for dynamic methods Used internally by AUTOLOAD to run an SNMP set command for dynamic methods
listed in either %GLOBALS or %FUNCS or a valid mib leaf from a loaded MIB or listed in either %GLOBALS or %FUNCS or a valid mib leaf from a loaded MIB or
the set_multi() method to set multiple varible in one command. When run the set_multi() method to set multiple variable in one command. When run
clears attr cache. clears attr cache.
Attr is passed as either a scalar for dynamic methods or a reference to an Attr is passed as either a scalar for dynamic methods or a reference to an
@@ -2900,13 +2921,13 @@ Pass either a reference to a 4 element array [<obj>, <iid>, <val>, <type>] or
a reference to an array of 4 element arrays to specify multiple values. a reference to an array of 4 element arrays to specify multiple values.
<obj> - One of the following forms: <obj> - One of the following forms:
1) leaf identifier (e.g., 'sysContact') 1) leaf identifier (e.g., C<'sysContact'>)
2) An entry in either %FUNCS, %GLOBALS (e.g., 'contact') 2) An entry in either %FUNCS, %GLOBALS (e.g., 'contact')
<iid> - The dotted-decimal, instance identifier. For scalar MIB objects use '0' <iid> - The dotted-decimal, instance identifier. For scalar MIB objects use '0'
<val> - The SNMP data value being set (e.g., 'netdisco') <val> - The SNMP data value being set (e.g., 'netdisco')
<type> - Optional as the MIB should be loaded. <type> - Optional as the MIB should be loaded.
If one of the set assigments is invalid, then the request will be rejected If one of the set assignments is invalid, then the request will be rejected
without applying any of the new values - regardless of the order they appear without applying any of the new values - regardless of the order they appear
in the list. in the list.
@@ -2931,8 +2952,8 @@ sub set_multi {
=item $info->load_all() =item $info->load_all()
Debugging routine. This does not include any overriden method or method implemented Debugging routine. This does not include any overridden method or method
by subroutine. implemented by subroutine.
Runs $info->load_METHOD() for each entry in $info->funcs(); Runs $info->load_METHOD() for each entry in $info->funcs();
@@ -3172,7 +3193,7 @@ sub _load_attr {
=item $info->_show_attr() =item $info->_show_attr()
Used internaly by AUTOLOAD to return data called by methods listed in %FUNCS. Used internally by AUTOLOAD to return data called by methods listed in %FUNCS.
Called like $info->METHOD(). Called like $info->METHOD().
@@ -3404,7 +3425,7 @@ sub AUTOLOAD {
} }
1; 1;
=head1 COPYRIGHT AND LICENCE =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, 2004 Max Baker - All rights reserved. Copyright (c)2003, 2004 Max Baker - All rights reserved.

View File

@@ -1,34 +1,34 @@
# SNMP::Info::Airespace # SNMP::Info::Airespace
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2005 Eric Miller # Copyright (c) 2008 Eric Miller
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Airespace; package SNMP::Info::Airespace;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
use Exporter; use Exporter;
@@ -647,7 +647,7 @@ sub i_80211channel {
} }
# Psuedo ENTITY-MIB methods # Pseudo ENTITY-MIB methods
sub e_index { sub e_index {
my $airespace = shift; my $airespace = shift;
@@ -879,8 +879,8 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::Airespace - SNMP Interface to data from AIRESPACE-WIRELESS-MIB SNMP::Info::Airespace - SNMP Interface to data from F<AIRESPACE-WIRELESS-MIB>
and AIRESPACE-SWITCHING-MIB and F<AIRESPACE-SWITCHING-MIB>
=head1 AUTHOR =head1 AUTHOR
@@ -904,7 +904,7 @@ Eric Miller
=head1 DESCRIPTION =head1 DESCRIPTION
SNMP::Info::Airespace is a subclass of SNMP::Info that provides an interface SNMP::Info::Airespace is a subclass of SNMP::Info that provides an interface
to C<AIRESPACE-WIRELESS-MIB> and C<AIRESPACE-SWITCHING-MIB>. These MIBs are to F<AIRESPACE-WIRELESS-MIB> and F<AIRESPACE-SWITCHING-MIB>. These MIBs are
used in Airespace wireless switches, as well as, products from Cisco, Nortel, used in Airespace wireless switches, as well as, products from Cisco, Nortel,
and Alcatel which are based upon the Airespace platform. and Alcatel which are based upon the Airespace platform.
@@ -931,9 +931,9 @@ None.
=over =over
=item AIRESPACE-WIRELESS-MIB =item F<AIRESPACE-WIRELESS-MIB>
=item AIRESPACE-SWITCHING-MIB =item F<AIRESPACE-SWITCHING-MIB>
=back =back
@@ -945,79 +945,79 @@ These are methods that return scalar value from SNMP
=item $airespace->airespace_type() =item $airespace->airespace_type()
(B<agentInventoryMachineType>) (C<agentInventoryMachineType>)
=item $airespace->airespace_model() =item $airespace->airespace_model()
(B<agentInventoryMachineModel>) (C<agentInventoryMachineModel>)
=item $airespace->airespace_serial() =item $airespace->airespace_serial()
(B<agentInventorySerialNumber>) (C<agentInventorySerialNumber>)
=item $airespace->airespace_maint_ver() =item $airespace->airespace_maint_ver()
(B<agentInventoryMaintenanceLevel>) (C<agentInventoryMaintenanceLevel>)
=item $airespace->airespace_mac() =item $airespace->airespace_mac()
(B<agentInventoryBurnedInMacAddress>) (C<agentInventoryBurnedInMacAddress>)
=item $airespace->airespace_os() =item $airespace->airespace_os()
(B<agentInventoryOperatingSystem>) (C<agentInventoryOperatingSystem>)
=item $airespace->airespace_vendor() =item $airespace->airespace_vendor()
(B<agentInventoryManufacturerName>) (C<agentInventoryManufacturerName>)
=item $airespace->airespace_prod_name() =item $airespace->airespace_prod_name()
(B<agentInventoryProductName>) (C<agentInventoryProductName>)
=item $airespace->os_ver() =item $airespace->os_ver()
(B<agentInventoryProductVersion>) (C<agentInventoryProductVersion>)
=item $airespace->airespace_bssid_mode() =item $airespace->airespace_bssid_mode()
(B<agentNetworkBroadcastSsidMode>) (C<agentNetworkBroadcastSsidMode>)
=item $airespace->airespace_mc_mode() =item $airespace->airespace_mc_mode()
(B<agentNetworkMulticastMode>) (C<agentNetworkMulticastMode>)
=item $airespace->airespace_lwapp_mode() =item $airespace->airespace_lwapp_mode()
The LWAPP transport mode decides if the switch is operating in the Layer2 or The LWAPP transport mode decides if the switch is operating in the Layer2 or
Layer3 mode. Layer3 mode.
(B<agentSwitchLwappTransportMode>) (C<agentSwitchLwappTransportMode>)
=item $airespace->airespace_ul_mode() =item $airespace->airespace_ul_mode()
Transfer upload mode configures the mode to use when uploading from the switch. Transfer upload mode configures the mode to use when uploading from the switch.
Normal usage tftp. Normal usage tftp.
(B<agentTransferUploadMode>) (C<agentTransferUploadMode>)
=item $airespace->airespace_ul_ip() =item $airespace->airespace_ul_ip()
Transfer upload tftpserverip configures the IP address of the server. It is Transfer upload tftp server ip configures the IP address of the server. It is
valid only when the Transfer Mode is tftp. valid only when the Transfer Mode is tftp.
(B<agentTransferUploadServerIP>) (C<agentTransferUploadServerIP>)
=item $airespace->airespace_ul_path() =item $airespace->airespace_ul_path()
Transfer upload tftppath configures the directory path where the file is to be Transfer upload tftp path configures the directory path where the file is to be
uploaded to. The switch remembers the last file path used. uploaded to. The switch remembers the last file path used.
(B<agentTransferUploadPath>) (C<agentTransferUploadPath>)
=item $airespace->airespace_ul_file() =item $airespace->airespace_ul_file()
(B<agentTransferUploadFilename>) (C<agentTransferUploadFilename>)
=item $airespace->airespace_ul_type() =item $airespace->airespace_ul_type()
@@ -1030,15 +1030,15 @@ Transfer upload datatype configures the type of file to upload from the switch.
traplog(5) traplog(5)
crashfile(6) crashfile(6)
(B<agentTransferUploadDataType>) (C<agentTransferUploadDataType>)
=item $airespace->airespace_ul_start() =item $airespace->airespace_ul_start()
(B<agentTransferUploadStart>) (C<agentTransferUploadStart>)
=item $airespace->airespace_ul_status() =item $airespace->airespace_ul_status()
(B<agentTransferUploadStatus>) (C<agentTransferUploadStatus>)
=back =back
@@ -1053,7 +1053,7 @@ proprietary MIBs.
=item $airespace->serial() =item $airespace->serial()
(B<agentInventorySerialNumber>) (C<agentInventorySerialNumber>)
=back =back
@@ -1079,7 +1079,7 @@ interface.
=back =back
=head2 Dot11 Ess Table (B<bsnDot11EssTable>) =head2 Dot11 Ess Table (C<bsnDot11EssTable>)
Ess(WLAN) Configuration Table. Maximum of 17 WLANs can be created on Ess(WLAN) Configuration Table. Maximum of 17 WLANs can be created on
Airespace Switch. Index of 17 is reserved for WLAN for Third Party Airespace Switch. Index of 17 is reserved for WLAN for Third Party
@@ -1089,33 +1089,33 @@ APs(non-Airespace APs).
=item $airespace->airespace_ess_idx() =item $airespace->airespace_ess_idx()
(B<bsnDot11EssIndex>) (C<bsnDot11EssIndex>)
=item $airespace->airespace_ess_ssid() =item $airespace->airespace_ess_ssid()
SSID assigned to ESS(WLAN) SSID assigned to ESS(WLAN)
(B<bsnDot11EssSsid>) (C<bsnDot11EssSsid>)
=item $airespace->airespace_ess_macflt() =item $airespace->airespace_ess_macflt()
Select to filter clients by MAC address. By selecting this Security, you need Select to filter clients by MAC address. By selecting this Security, you need
to create MacFilters in B<bsnUsersTable> or have MacFilters configured on to create MAC Filters in C<bsnUsersTable> or have MAC Filters configured on
Radius Servers specified in B<bsnRadiusAuthenticationTable> Radius Servers specified in C<bsnRadiusAuthenticationTable>
(B<bsnDot11EssMacFiltering>) (C<bsnDot11EssMacFiltering>)
=item $airespace->airespace_ess_status() =item $airespace->airespace_ess_status()
Administrative Status of ESS(WLAN). Administrative Status of ESS(WLAN).
(B<bsnDot11EssAdminStatus>) (C<bsnDot11EssAdminStatus>)
=item $airespace->airespace_ess_sec_auth() =item $airespace->airespace_ess_sec_auth()
Type of 802.11 Authentication. Type of 802.11 Authentication.
(B<bsnDot11EssSecurityAuthType>) (C<bsnDot11EssSecurityAuthType>)
=item $airespace->airespace_ess_radio_pol() =item $airespace->airespace_ess_radio_pol()
@@ -1123,30 +1123,30 @@ Radio Policy for a WLAN. It can either be All where it will be applicable
to ALL types of protocols or it can be set to apply to combinations of to ALL types of protocols or it can be set to apply to combinations of
802.11a, 802.11b, 802.11g. 802.11a, 802.11b, 802.11g.
(B<bsnDot11EssRadioPolicy>) (C<bsnDot11EssRadioPolicy>)
=item $airespace->airespace_ess_qos() =item $airespace->airespace_ess_qos()
Quality of Service for a WLAN. Quality of Service for a WLAN.
(B<bsnDot11EssQualityOfService>) (C<bsnDot11EssQualityOfService>)
=item $airespace->airespace_ess_ifname() =item $airespace->airespace_ess_ifname()
Name of the interface used by this WLAN. Name of the interface used by this WLAN.
(B<bsnDot11EssInterfaceName>) (C<bsnDot11EssInterfaceName>)
=item $airespace->airespace_ess_aclname() =item $airespace->airespace_ess_aclname()
Name of ACL for the WLAN. This is applicable only when Web Authentication is Name of ACL for the WLAN. This is applicable only when Web Authentication is
enabled. enabled.
(B<bsnDot11EssAclName>) (C<bsnDot11EssAclName>)
=back =back
=head2 AP Table (B<bsnAPTable>) =head2 AP Table (C<bsnAPTable>)
Table of Airespace APs managed by this Airespace Switch. Table of Airespace APs managed by this Airespace Switch.
@@ -1156,55 +1156,55 @@ Table of Airespace APs managed by this Airespace Switch.
The MAC address of the 802.3 interface of the AP. The MAC address of the 802.3 interface of the AP.
(B<bsnAPDot3MacAddress>) (C<bsnAPDot3MacAddress>)
=item $airespace->airespace_ap_name() =item $airespace->airespace_ap_name()
Name assigned to this AP. If an AP is not configured its factory default name Name assigned to this AP. If an AP is not configured its factory default name
will be ap:<last three byte of MAC Address>. eg. ap:af:12:be will be ap:<last three byte of MAC Address>. e.g. ap:af:12:be
(B<bsnAPName>) (C<bsnAPName>)
=item $airespace->airespace_ap_ip() =item $airespace->airespace_ap_ip()
Ip address of the AP. This will not be available when the switch is operating Ip address of the AP. This will not be available when the switch is operating
in the Layer2 mode. In this case, the attribute will return 0 as value. in the Layer2 mode. In this case, the attribute will return 0 as value.
(B<bsnApIpAddress>) (C<bsnApIpAddress>)
=item $airespace->airespace_ap_loc() =item $airespace->airespace_ap_loc()
User specified location of this AP. User specified location of this AP.
(B<bsnAPLocation>) (C<bsnAPLocation>)
=item $airespace->airespace_ap_sw() =item $airespace->airespace_ap_sw()
(B<bsnAPSoftwareVersion>) (C<bsnAPSoftwareVersion>)
=item $airespace->airespace_ap_fw() =item $airespace->airespace_ap_fw()
(B<bsnAPBootVersion>) (C<bsnAPBootVersion>)
=item $airespace->airespace_ap_model() =item $airespace->airespace_ap_model()
(B<bsnAPModel>) (C<bsnAPModel>)
=item $airespace->airespace_ap_serial() =item $airespace->airespace_ap_serial()
(B<bsnAPSerialNumber>) (C<bsnAPSerialNumber>)
=item $airespace->airespace_ap_type() =item $airespace->airespace_ap_type()
(B<bsnAPType>) (C<bsnAPType>)
=item $airespace->airespace_ap_status() =item $airespace->airespace_ap_status()
(B<bsnAPAdminStatus>) (C<bsnAPAdminStatus>)
=back =back
=head2 AP Interface Table (B<bsnAPIfTable>) =head2 AP Interface Table (C<bsnAPIfTable>)
Table of 802.11 interfaces in an Airespace APs. Table of 802.11 interfaces in an Airespace APs.
@@ -1212,44 +1212,44 @@ Table of 802.11 interfaces in an Airespace APs.
=item $airespace->airespace_apif_slot() =item $airespace->airespace_apif_slot()
The slotId of this interface. Value will be 0 for a 802.11a (5Ghz) interface The slot Id of this interface. Value will be 0 for a 802.11a (5Ghz) interface
and will be 1 for 802.11b/g (2.4Ghz) interface. and will be 1 for 802.11b/g (2.4Ghz) interface.
(B<bsnAPIfSlotId>) (C<bsnAPIfSlotId>)
=item $airespace->airespace_apif_type() =item $airespace->airespace_apif_type()
(B<bsnAPIfType>) (C<bsnAPIfType>)
=item $airespace->airespace_apif_ch_num() =item $airespace->airespace_apif_ch_num()
(B<bsnAPIfPhyChannelNumber>) (C<bsnAPIfPhyChannelNumber>)
=item $airespace->airespace_apif_power() =item $airespace->airespace_apif_power()
The TxPowerLevel N currently being used to transmit data. The transmit power level N currently being used to transmit data.
(B<bsnAPIfPhyTxPowerLevel>) (C<bsnAPIfPhyTxPowerLevel>)
=item $airespace->airespace_apif() =item $airespace->airespace_apif()
(B<bsnAPIfOperStatus>) (C<bsnAPIfOperStatus>)
=item $airespace->airespace_apif_oride() =item $airespace->airespace_apif_oride()
This flag when disabled implies that all WLANs are available from this radio. This flag when disabled implies that all WLANs are available from this radio.
However, if this is enabled, then only those WLANs that appear in the However, if this is enabled, then only those WLANs that appear in the
(B<bsnApIfWlanOverrideTable>) will be available from this radio. (C<bsnApIfWlanOverrideTable>) will be available from this radio.
(B<bsnAPIfWlanOverride>) (C<bsnAPIfWlanOverride>)
=item $airespace->airespace_apif_admin() =item $airespace->airespace_apif_admin()
(B<bsnAPIfAdminStatus>) (C<bsnAPIfAdminStatus>)
=back =back
=head2 Mobile Station Table (B<bsnMobileStationTable>) =head2 Mobile Station Table (C<bsnMobileStationTable>)
=over =over
@@ -1257,36 +1257,36 @@ However, if this is enabled, then only those WLANs that appear in the
Mac Address of the AP on which Mobile Station is associated. Mac Address of the AP on which Mobile Station is associated.
(B<bsnMobileStationAPMacAddr>) (C<bsnMobileStationAPMacAddr>)
=item $airespace->airespace_sta_slot() =item $airespace->airespace_sta_slot()
SlotId of APIf on which mobile station is associated. Slot Id of AP If on which mobile station is associated.
(B<bsnMobileStationAPIfSlotId>) (C<bsnMobileStationAPIfSlotId>)
=item $airespace->airespace_sta_ess_idx() =item $airespace->airespace_sta_ess_idx()
Ess Index of the Wlan(SSID) that is being used by Mobile Station to connect Ess Index of the Wlan(SSID) that is being used by Mobile Station to connect
to the AP. to the AP.
(B<bsnMobileStationEssIndex>) (C<bsnMobileStationEssIndex>)
=item $airespace->airespace_sta_ssid() =item $airespace->airespace_sta_ssid()
The SSID Advertised by the Mobile Station. The SSID Advertised by the Mobile Station.
(B<bsnMobileStationSsid>) (C<bsnMobileStationSsid>)
=item $airespace->airespace_sta_delete() =item $airespace->airespace_sta_delete()
Action to Deauthenticate the Mobile Station. Set the State to delete. Action to Deauthenticate the Mobile Station. Set the State to delete.
(B<bsnMobileStationDeleteAction>) (C<bsnMobileStationDeleteAction>)
=back =back
=head2 Users Table (B<bsnUsersTable>) =head2 Users Table (C<bsnUsersTable>)
The (conceptual) table listing Wlan Users. The (conceptual) table listing Wlan Users.
@@ -1294,47 +1294,47 @@ The (conceptual) table listing Wlan Users.
=item $airespace->airespace_user_name() =item $airespace->airespace_user_name()
User name. For MAC filters, this will be the MAC address (eg. 000123456789). User name. For MAC filters, this will be the MAC address (e.g. 000123456789).
(B<bsnUserName>) (C<bsnUserName>)
=item $airespace->airespace_user_pw() =item $airespace->airespace_user_pw()
User Password. For MAC filters, this will be "nopassword". User Password. For MAC filters, this will be "nopassword".
(B<bsnUserPassword>) (C<bsnUserPassword>)
=item $airespace->airespace_user_ess_idx() =item $airespace->airespace_user_ess_idx()
User WLAN ID. Value 0 implies that this applies to any WLAN ID. User WLAN ID. Value 0 implies that this applies to any WLAN ID.
(B<bsnUserEssIndex>) (C<bsnUserEssIndex>)
=item $airespace->airespace_user_access() =item $airespace->airespace_user_access()
For MAC filters, this will be "readOnly". For MAC filters, this will be "readOnly".
(B<bsnUserAccessMode>) (C<bsnUserAccessMode>)
=item $airespace->airespace_user_type() =item $airespace->airespace_user_type()
User Access Mode. For MAC filters, this will be "macFilter". User Access Mode. For MAC filters, this will be "macFilter".
(B<bsnUserType>) (C<bsnUserType>)
=item $airespace->airespace_user_ifname() =item $airespace->airespace_user_ifname()
ACL for MAC Filters. An interface name from B<agentInterfaceConfigTable> ACL for MAC Filters. An interface name from C<agentInterfaceConfigTable>
(B<bsnUserInterfaceName>) (C<bsnUserInterfaceName>)
=item $airespace->airespace_user_rstat() =item $airespace->airespace_user_rstat()
(B<bsnUserRowStatus>) (C<bsnUserRowStatus>)
=back =back
=head2 Black List Client Table (B<bsnBlackListClientTable>) =head2 Black List Client Table (C<bsnBlackListClientTable>)
The table listing Wlan Black Listed Clients The table listing Wlan Black Listed Clients
@@ -1342,41 +1342,41 @@ The table listing Wlan Black Listed Clients
=item $airespace->airespace_bl_mac() =item $airespace->airespace_bl_mac()
(B<bsnBlackListClientMacAddress>) (C<bsnBlackListClientMacAddress>)
=item $airespace->airespace_bl_descr() =item $airespace->airespace_bl_descr()
(B<bsnBlackListClientDescription>) (C<bsnBlackListClientDescription>)
=item $airespace->airespace_bl_rstat() =item $airespace->airespace_bl_rstat()
(B<bsnBlackListClientRowStatus>) (C<bsnBlackListClientRowStatus>)
=back =back
=head2 AP Interface WLAN Override Table (B<bsnAPIfWlanOverrideTable>) =head2 AP Interface WLAN Override Table (C<bsnAPIfWlanOverrideTable>)
Each entry represents an SSID added to the AP when the attribute Each entry represents an SSID added to the AP when the attribute
B<bsnAPIfWlanOverride> on the radio is enabled. This means only those WLANs C<bsnAPIfWlanOverride> on the radio is enabled. This means only those WLANs
on the switch that are added to this table will be available on such a radio. on the switch that are added to this table will be available on such a radio.
=over =over
=item $airespace->airespace_oride_id() =item $airespace->airespace_oride_id()
Index of the WLAN (B<bsnDot11EssIndex>) added to the radio. Index of the WLAN (C<bsnDot11EssIndex>) added to the radio.
(B<bsnAPIfWlanOverrideId>) (C<bsnAPIfWlanOverrideId>)
=item $airespace->airespace_oride_ssid() =item $airespace->airespace_oride_ssid()
SSID assigned to the override WLAN. SSID assigned to the override WLAN.
(B<bsnAPIfWlanOverrideSsid>) (C<bsnAPIfWlanOverrideSsid>)
=back =back
=head2 Interface Config Table (B<agentInterfaceConfigTable>) =head2 Interface Config Table (C<agentInterfaceConfigTable>)
A table of the switch's Interface Config entries. Typically, it will contain A table of the switch's Interface Config entries. Typically, it will contain
entries for Service Port Interface, DS Port Interface and Virtual Gateway entries for Service Port Interface, DS Port Interface and Virtual Gateway
@@ -1386,17 +1386,17 @@ Interface apart from other entries.
=item $airespace->airespace_if_name() =item $airespace->airespace_if_name()
Interace Name. This values is 'management' for DS port, 'service-port' for Interface Name. This values is 'management' for DS port, 'service-port' for
service port and 'virtual' for virtual gateway. For other interfaces, the service port and 'virtual' for virtual gateway. For other interfaces, the
name can be anything. These interfaces are already created by default. name can be anything. These interfaces are already created by default.
(B<agentInterfaceName>) (C<agentInterfaceName>)
=item $airespace->airespace_if_vlan() =item $airespace->airespace_if_vlan()
VLAN Id configured for the Interface. VLAN Id configured for the Interface.
(B<agentInterfaceVlanId>) (C<agentInterfaceVlanId>)
=item $airespace->airespace_if_type() =item $airespace->airespace_if_type()
@@ -1404,22 +1404,22 @@ The interface's type. The static type is set for the interfaces that are
created by default on the switch and these cannot be deleted. Any other created by default on the switch and these cannot be deleted. Any other
interface that is created is of type dynamic which can be deleted. interface that is created is of type dynamic which can be deleted.
(B<agentInterfaceType>) (C<agentInterfaceType>)
=item $airespace->airespace_if_mac() =item $airespace->airespace_if_mac()
Interface MAC Address. This is only applicable in case of management and Interface MAC Address. This is only applicable in case of management and
service-port interfaces. service-port interfaces.
(B<agentInterfaceMacAddress>) (C<agentInterfaceMacAddress>)
=item $airespace->airespace_if_ip() =item $airespace->airespace_if_ip()
(B<agentInterfaceIPAddress>) (C<agentInterfaceIPAddress>)
=item $airespace->airespace_if_mask() =item $airespace->airespace_if_mask()
(B<agentInterfaceIPNetmask>) (C<agentInterfaceIPNetmask>)
=item $airespace->airespace_if_acl() =item $airespace->airespace_if_acl()
@@ -1428,25 +1428,25 @@ applicable only to the management interface and other dynamic interfaces.
If it is required to remove the ACL name for an interface, it should be set If it is required to remove the ACL name for an interface, it should be set
to an empty string. to an empty string.
(B<agentInterfaceAclName>) (C<agentInterfaceAclName>)
=item $airespace->airespace_if_rstat() =item $airespace->airespace_if_rstat()
(B<agentInterfaceRowStatus>) (C<agentInterfaceRowStatus>)
=back =back
=head2 Port Config Table (B<agentPortConfigTable>) =head2 Port Config Table (C<agentPortConfigTable>)
=over =over
=item $airespace->airespace_duplex_admin() =item $airespace->airespace_duplex_admin()
(B<agentPortPhysicalMode>) (C<agentPortPhysicalMode>)
=item $airespace->airespace_duplex() =item $airespace->airespace_duplex()
(B<agentPortPhysicalStatus>) (C<agentPortPhysicalStatus>)
=back =back
@@ -1458,7 +1458,7 @@ to an empty string.
Returns reference to map of IIDs to Interface index. Returns reference to map of IIDs to Interface index.
Extends ifIndex to support thin APs and WLAN virtual interfaces as device Extends C<ifIndex> to support thin APs and WLAN virtual interfaces as device
interfaces. interfaces.
=item $airespace->interfaces() =item $airespace->interfaces()
@@ -1470,38 +1470,38 @@ use airespace_if_name() as the port identifier.
=item $airespace->i_name() =item $airespace->i_name()
Returns reference to map of IIDs to interface names. Returns B<ifName> for Returns reference to map of IIDs to interface names. Returns C<ifName> for
Ethernet interfaces, airespace_ap_name() for thin AP interfaces, and Ethernet interfaces, airespace_ap_name() for thin AP interfaces, and
airespace_if_name() for virtual interfaces. airespace_if_name() for virtual interfaces.
=item $airespace->i_description() =item $airespace->i_description()
Returns reference to map of IIDs to interface types. Returns B<ifDescr> Returns reference to map of IIDs to interface types. Returns C<ifDescr>
for Ethernet interfaces, airespace_ap_loc() for thin AP interfaces, and for Ethernet interfaces, airespace_ap_loc() for thin AP interfaces, and
airespace_if_name() for virtual interfaces. airespace_if_name() for virtual interfaces.
=item $airespace->i_type() =item $airespace->i_type()
Returns reference to map of IIDs to interface descriptions. Returns Returns reference to map of IIDs to interface descriptions. Returns
B<ifType> for Ethernet interfaces, airespace_apif_type() for thin AP C<ifType> for Ethernet interfaces, airespace_apif_type() for thin AP
interfaces, and airespace_if_type() for virtual interfaces. interfaces, and airespace_if_type() for virtual interfaces.
=item $airespace->i_up() =item $airespace->i_up()
Returns reference to map of IIDs to link status of the interface. Returns Returns reference to map of IIDs to link status of the interface. Returns
B<ifOperStatus> for Ethernet interfaces and airespace_apif() for thin AP C<ifOperStatus> for Ethernet interfaces and airespace_apif() for thin AP
interfaces. interfaces.
=item $airespace->i_up_admin() =item $airespace->i_up_admin()
Returns reference to map of IIDs to administrative status of the interface. Returns reference to map of IIDs to administrative status of the interface.
Returns B<ifAdminStatus> for Ethernet interfaces and airespace_apif_admin() Returns C<ifAdminStatus> for Ethernet interfaces and airespace_apif_admin()
for thin AP interfaces. for thin AP interfaces.
=item $airespace->i_mac() =item $airespace->i_mac()
Returns reference to map of IIDs to MAC address of the interface. Returns Returns reference to map of IIDs to MAC address of the interface. Returns
B<ifPhysAddress> for Ethernet interfaces and airespace_if_mac() for virtual C<ifPhysAddress> for Ethernet interfaces and airespace_if_mac() for virtual
interfaces. interfaces.
=item $airespace->i_vlan() =item $airespace->i_vlan()
@@ -1539,14 +1539,14 @@ airespace_sta_slot() combined to match the interface iid.
=item $airespace->fw_mac() =item $airespace->fw_mac()
(B<bsnMobileStationMacAddress>) (C<bsnMobileStationMacAddress>)
=back =back
=head2 Psuedo ENTITY-MIB information =head2 Pseudo F<ENTITY-MIB> information
These methods emulate ENTITY-MIB Physical Table methods using These methods emulate F<ENTITY-MIB> Physical Table methods using
AIRESPACE-SWITCHING-MIB and AIRESPACE-WIRELESS-MIB. Thin APs are included F<AIRESPACE-SWITCHING-MIB> and F<AIRESPACE-WIRELESS-MIB>. Thin APs are included
as subcomponents of the wireless controller. as subcomponents of the wireless controller.
=over =over
@@ -1600,4 +1600,6 @@ Returns reference to hash. Key: IID, Value: Software revision.
Returns reference to hash. Key: IID, Value: The value of e_index() for the Returns reference to hash. Key: IID, Value: The value of e_index() for the
entity which 'contains' this entity. entity which 'contains' this entity.
=back
=cut =cut

View File

@@ -1,39 +1,38 @@
# SNMP::Info::Bridge # SNMP::Info::Bridge
# Max Baker # $Id$
# #
# Changes since Version 0.7 Copyright (c) 2004 Max Baker # Changes since Version 0.7 Copyright (c) 2004 Max Baker
# All rights reserved. # All rights reserved.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
#
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Bridge; package SNMP::Info::Bridge;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -418,7 +417,7 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::Bridge - SNMP Interface to SNMP data available through the SNMP::Info::Bridge - SNMP Interface to SNMP data available through the
BRIDGE-MIB (RFC1493) F<BRIDGE-MIB> (RFC1493)
=head1 AUTHOR =head1 AUTHOR
@@ -454,10 +453,10 @@ Max Baker
=head1 DESCRIPTION =head1 DESCRIPTION
BRIDGE-MIB is used by most Layer 2 devices, and holds information like the F<BRIDGE-MIB> is used by most Layer 2 devices, and holds information like the
MAC Forwarding Table and Spanning Tree Protocol info. MAC Forwarding Table and Spanning Tree Protocol info.
Q-BRIDGE-MIB holds 802.1q information -- VLANs and Trunking. Cisco tends not F<Q-BRIDGE-MIB> holds 802.1q information -- VLANs and Trunking. Cisco tends not
to use this MIB, but some proprietary ones. HP and some nicer vendors use to use this MIB, but some proprietary ones. HP and some nicer vendors use
this. This is from C<RFC2674_q>. this. This is from C<RFC2674_q>.
@@ -476,15 +475,14 @@ None.
=over =over
=item BRIDGE-MIB =item F<BRIDGE-MIB>
=item Q-BRIDGE-MIB =item F<Q-BRIDGE-MIB>
F<rfc2674_q.mib>
=back =back
BRIDGE-MIB needs to be extracted from ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz F<BRIDGE-MIB> needs to be extracted from
ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz
=head1 GLOBAL METHODS =head1 GLOBAL METHODS
@@ -496,58 +494,57 @@ These are methods that return scalar values from SNMP
Returns the MAC Address of the root bridge port Returns the MAC Address of the root bridge port
(B<dot1dBaseBridgeAddress>) (C<dot1dBaseBridgeAddress>)
=item $bridge->b_ports() =item $bridge->b_ports()
Returns the number of ports in device Returns the number of ports in device
(B<dot1dBaseNumPorts>) (C<dot1dBaseNumPorts>)
=item $bridge->b_type() =item $bridge->b_type()
Returns the type of bridging this bridge can perform, transparent and/or Returns the type of bridging this bridge can perform, transparent and/or
sourceroute. source route.
(B<dot1dBaseType>) (C<dot1dBaseType>)
=item $bridge->stp_ver() =item $bridge->stp_ver()
Returns what version of STP the device is running. Either decLb100 or Returns what version of STP the device is running.
ieee8021d.
(B<dot1dStpProtocolSpecification>) (C<dot1dStpProtocolSpecification>)
=item $bridge->stp_time() =item $bridge->stp_time()
Returns time since last topology change detected. (100ths/second) Returns time since last topology change detected. (100ths/second)
(B<dot1dStpTimeSinceTopologyChange>) (C<dot1dStpTimeSinceTopologyChange>)
=item $bridge->stp_root() =item $bridge->stp_root()
Returns root of STP. Returns root of STP.
(B<dot1dStpDesignatedRoot>) (C<dot1dStpDesignatedRoot>)
=item $bridge->qb_vlans_max() =item $bridge->qb_vlans_max()
Maximum number of VLANS supported on this device. Maximum number of VLANS supported on this device.
(B<dot1qMaxSupportedVlans>) (C<dot1qMaxSupportedVlans>)
=item $bridge->qb_vlans() =item $bridge->qb_vlans()
Current number of VLANs that are configured in this device. Current number of VLANs that are configured in this device.
(B<dot1qNumVlans>) (C<dot1qNumVlans>)
=item $bridge->qb_next_vlan_index() =item $bridge->qb_next_vlan_index()
The next available value for B<dot1qVlanIndex> of a local VLAN entry in The next available value for C<dot1qVlanIndex> of a local VLAN entry in
B<dot1qVlanStaticTable> C<dot1qVlanStaticTable>
(B<dot1qNextFreeLocalVlanIndex>) (C<dot1qNextFreeLocalVlanIndex>)
=back =back
@@ -560,12 +557,12 @@ to a hash.
=item $bridge->i_vlan() =item $bridge->i_vlan()
Returns a mapping between ifIndex and the PVID or default VLAN. Returns a mapping between C<ifIndex> and the PVID or default VLAN.
=item $bridge->i_vlan_membership() =item $bridge->i_vlan_membership()
Returns reference to hash of arrays: key = ifIndex, value = array of VLAN IDs. Returns reference to hash of arrays: key = C<ifIndex>, value = array of VLAN
These are the VLANs which are members of the egress list for the port. IDs. These are the VLANs which are members of the egress list for the port.
Example: Example:
my $interfaces = $bridge->interfaces(); my $interfaces = $bridge->interfaces();
@@ -579,7 +576,7 @@ These are the VLANs which are members of the egress list for the port.
=back =back
=head2 Forwarding Table (dot1dTpFdbEntry) =head2 Forwarding Table (C<dot1dTpFdbEntry>)
=over =over
@@ -587,24 +584,24 @@ These are the VLANs which are members of the egress list for the port.
Returns reference to hash of forwarding table MAC Addresses Returns reference to hash of forwarding table MAC Addresses
(B<dot1dTpFdbAddress>) (C<dot1dTpFdbAddress>)
=item $bridge->fw_port() =item $bridge->fw_port()
Returns reference to hash of forwarding table entries port interface Returns reference to hash of forwarding table entries port interface
identifier (iid) identifier (iid)
(B<dot1dTpFdbPort>) (C<dot1dTpFdbPort>)
=item $bridge->fw_status() =item $bridge->fw_status()
Returns reference to hash of forwading table entries status Returns reference to hash of forwarding table entries status
(B<dot2dTpFdbStatus>) (C<dot2dTpFdbStatus>)
=back =back
=head2 Bridge Port Table (dot1dBasePortEntry) =head2 Bridge Port Table (C<dot1dBasePortEntry>)
=over =over
@@ -613,20 +610,20 @@ Returns reference to hash of forwading table entries status
Returns reference to hash of bridge port table entries map back to interface Returns reference to hash of bridge port table entries map back to interface
identifier (iid) identifier (iid)
(B<dot1dBasePortIfIndex>) (C<dot1dBasePortIfIndex>)
=item $bridge->bp_port() =item $bridge->bp_port()
Returns reference to hash of bridge port table entries for a port which Returns reference to hash of bridge port table entries for a port which
(potentially) has the same value of B<dot1dBasePortIfIndex> as another port (potentially) has the same value of C<dot1dBasePortIfIndex> as another port
on the same bridge, this object contains the name of an object instance unique on the same bridge, this object contains the name of an object instance unique
to this port. to this port.
(B<dot1dBasePortCircuit>) (C<dot1dBasePortCircuit>)
=back =back
=head2 Spanning Tree Protocol Table (dot1dStpPortTable) =head2 Spanning Tree Protocol Table (C<dot1dStpPortTable>)
Descriptions are lifted straight from F<BRIDGE-MIB.my> Descriptions are lifted straight from F<BRIDGE-MIB.my>
@@ -637,15 +634,15 @@ Descriptions are lifted straight from F<BRIDGE-MIB.my>
"The port number of the port for which this entry contains Spanning Tree "The port number of the port for which this entry contains Spanning Tree
Protocol management information." Protocol management information."
(B<dot1dStpPort>) (C<dot1dStpPort>)
=item $bridge->stp_p_priority() =item $bridge->stp_p_priority()
"The value of the priority field which is contained in the first "The value of the priority field which is contained in the first
(in network byte order) octet of the (2 octet long) Port ID. The other octet (in network byte order) octet of the (2 octet long) Port ID. The other octet
of the Port ID is given by the value of dot1dStpPort." of the Port ID is given by the value of C<dot1dStpPort>."
(B<dot1dStpPortPriority>) (C<dot1dStpPortPriority>)
=item $bridge->stp_p_state() =item $bridge->stp_p_state()
@@ -653,7 +650,7 @@ of the Port ID is given by the value of dot1dStpPort."
Protocol. This state controls what action a port takes on reception of a Protocol. This state controls what action a port takes on reception of a
frame. If the bridge has detected a port that is malfunctioning it will place frame. If the bridge has detected a port that is malfunctioning it will place
that port into the broken(6) state. For ports which are disabled that port into the broken(6) state. For ports which are disabled
(see dot1dStpPortEnable), this object will have a value of disabled(1)." (see C<dot1dStpPortEnable>), this object will have a value of disabled(1)."
disabled(1) disabled(1)
blocking(2) blocking(2)
@@ -662,7 +659,7 @@ that port into the broken(6) state. For ports which are disabled
forwarding(5) forwarding(5)
broken(6) broken(6)
(B<dot1dStpPortState>) (C<dot1dStpPortState>)
=item $bridge->stp_p_cost() =item $bridge->stp_p_cost()
@@ -671,7 +668,7 @@ tree root which include this port. 802.1D-1990 recommends that the default
value of this parameter be in inverse proportion to the speed of the attached value of this parameter be in inverse proportion to the speed of the attached
LAN." LAN."
(B<dot1dStpPortPathCost>) (C<dot1dStpPortPathCost>)
=item $bridge->stp_p_root() =item $bridge->stp_p_root()
@@ -679,39 +676,39 @@ LAN."
Configuration BPDUs transmitted by the Designated Bridge for the segment to Configuration BPDUs transmitted by the Designated Bridge for the segment to
which the port is attached." which the port is attached."
(B<dot1dStpPortDesignatedRoot>) (C<dot1dStpPortDesignatedRoot>)
=item $bridge->stp_p_bridge() =item $bridge->stp_p_bridge()
"The Bridge Identifier of the bridge which this port considers to be the "The Bridge Identifier of the bridge which this port considers to be the
Designated Bridge for this port's segment." Designated Bridge for this port's segment."
(B<dot1dStpPortDesignatedBridge>) (C<dot1dStpPortDesignatedBridge>)
=item $bridge->stp_p_port() =item $bridge->stp_p_port()
(B<dot1dStpPortDesignatedPort>) (C<dot1dStpPortDesignatedPort>)
"The Port Identifier of the port on the Designated Bridge for this port's "The Port Identifier of the port on the Designated Bridge for this port's
segment." segment."
=item $bridge->i_stp_port() =item $bridge->i_stp_port()
Returns the mapping of (B<dot1dStpPortDesignatedPort>) to the interface Returns the mapping of (C<dot1dStpPortDesignatedPort>) to the interface
index (iid). index (iid).
=item $bridge->i_stp_id() =item $bridge->i_stp_id()
Returns the mapping of (B<dot1dStpPort>) to the interface index (iid). Returns the mapping of (C<dot1dStpPort>) to the interface index (iid).
=item $bridge->i_stp_bridge() =item $bridge->i_stp_bridge()
Returns the mapping of (B<dot1dStpPortDesignatedBridge>) to the interface Returns the mapping of (C<dot1dStpPortDesignatedBridge>) to the interface
index (iid). index (iid).
=back =back
=head2 Q-BRIDGE Port VLAN Table (dot1qPortVlanTable) =head2 Q-BRIDGE Port VLAN Table (C<dot1qPortVlanTable>)
=over =over
@@ -720,14 +717,14 @@ index (iid).
The PVID, the VLAN ID assigned to untagged frames or Priority-Tagged frames The PVID, the VLAN ID assigned to untagged frames or Priority-Tagged frames
received on this port. received on this port.
(B<dot1qPvid>) (C<dot1qPvid>)
=item $bridge->qb_i_vlan_type() =item $bridge->qb_i_vlan_type()
Either C<admitAll> or C<admitOnlyVlanTagged>. This is a good spot to find Either C<admitAll> or C<admitOnlyVlanTagged>. This is a good spot to find
trunk ports. trunk ports.
(B<dot1qPortAcceptableFrameTypes>) (C<dot1qPortAcceptableFrameTypes>)
=item $bridge->qb_i_vlan_in_flt() =item $bridge->qb_i_vlan_in_flt()
@@ -735,11 +732,11 @@ When this is C<true> the device will discard incoming frames for VLANs which
do not include this Port in its Member set. When C<false>, the port will do not include this Port in its Member set. When C<false>, the port will
accept all incoming frames. accept all incoming frames.
(B<dot1qPortIngressFiltering>) (C<dot1qPortIngressFiltering>)
=back =back
=head2 Q-BRIDGE VLAN Current Table (dot1qVlanCurrentTable) =head2 Q-BRIDGE VLAN Current Table (C<dot1qVlanCurrentTable>)
=over =over
@@ -747,24 +744,24 @@ accept all incoming frames.
The set of ports which are assigned to the egress list for this VLAN. The set of ports which are assigned to the egress list for this VLAN.
(B<dot1qVlanCurrentEgressPorts>) (C<dot1qVlanCurrentEgressPorts>)
=item $bridge->qb_cv_untagged() =item $bridge->qb_cv_untagged()
The set of ports which should transmit egress packets for this VLAN as The set of ports which should transmit egress packets for this VLAN as
untagged. untagged.
(B<dot1qVlanCurrentUntaggedPorts>) (C<dot1qVlanCurrentUntaggedPorts>)
=item $bridge->qb_cv_stat() =item $bridge->qb_cv_stat()
Status of the VLAN, other, permanent, or dynamicGvrp. Status of the VLAN, other, permanent, or dynamicGvrp.
(B<dot1qVlanStatus>) (C<dot1qVlanStatus>)
=back =back
=head2 Q-BRIDGE VLAN Static Table (dot1qVlanStaticTable) =head2 Q-BRIDGE VLAN Static Table (C<dot1qVlanStaticTable>)
=over =over
@@ -772,37 +769,37 @@ Status of the VLAN, other, permanent, or dynamicGvrp.
Human-entered name for vlans. Human-entered name for vlans.
(B<dot1qVlanStaticName>) (C<dot1qVlanStaticName>)
=item $bridge->qb_v_egress() =item $bridge->qb_v_egress()
The set of ports which are assigned to the egress list for this VLAN. The set of ports which are assigned to the egress list for this VLAN.
(B<dot1qVlanStaticEgressPorts>) (C<dot1qVlanStaticEgressPorts>)
=item $bridge->qb_v_fbdn_egress() =item $bridge->qb_v_fbdn_egress()
The set of ports which are prohibited from being included in the egress list The set of ports which are prohibited from being included in the egress list
for this VLAN. for this VLAN.
(B<dot1qVlanForbiddenEgressPorts>) (C<dot1qVlanForbiddenEgressPorts>)
=item $bridge->qb_v_untagged() =item $bridge->qb_v_untagged()
The set of ports which should transmit egress packets for this VLAN as The set of ports which should transmit egress packets for this VLAN as
untagged. untagged.
(B<dot1qVlanStaticUntaggedPorts>) (C<dot1qVlanStaticUntaggedPorts>)
=item $bridge->qb_v_stat() =item $bridge->qb_v_stat()
uhh. C<active> ! C<active> !
(B<dot1qVlanStaticRowStatus>) (C<dot1qVlanStaticRowStatus>)
=back =back
=head2 Q-BRIDGE Filtering Database Table (dot1qFdbTable) =head2 Q-BRIDGE Filtering Database Table (C<dot1qFdbTable>)
=over =over
@@ -810,19 +807,21 @@ uhh. C<active> !
Returns reference to hash of forwarding table MAC Addresses Returns reference to hash of forwarding table MAC Addresses
(B<dot1qTpFdbAddress>) (C<dot1qTpFdbAddress>)
=item $bridge->qb_fw_port() =item $bridge->qb_fw_port()
Returns reference to hash of forwarding table entries port interface Returns reference to hash of forwarding table entries port interface
identifier (iid) identifier (iid)
(B<dot1qTpFdbPort>) (C<dot1qTpFdbPort>)
=item $bridge->qb_fw_status() =item $bridge->qb_fw_status()
Returns reference to hash of forwading table entries status Returns reference to hash of forwarding table entries status
(B<dot1qTpFdbStatus>) (C<dot1qTpFdbStatus>)
=back
=cut =cut

View File

@@ -1,5 +1,5 @@
# SNMP::Info::CDP # SNMP::Info::CDP
# Max Baker # $Id$
# #
# Changes since Version 0.7 Copyright (c) 2004 Max Baker # Changes since Version 0.7 Copyright (c) 2004 Max Baker
# All rights reserved. # All rights reserved.
@@ -12,27 +12,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::CDP; package SNMP::Info::CDP;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -214,8 +214,9 @@ Max Baker
SNMP::Info::CDP is a subclass of SNMP::Info that provides an object oriented SNMP::Info::CDP is a subclass of SNMP::Info that provides an object oriented
interface to CDP information through SNMP. interface to CDP information through SNMP.
CDP is a Layer 2 protocol that supplies topology information of devices that also speak CDP, CDP is a Layer 2 protocol that supplies topology information of devices that
mostly switches and routers. CDP is implemented in Cisco and some HP devices. also speak CDP, mostly switches and routers. CDP is implemented in Cisco and
some HP devices.
Create or use a device subclass that inherits this class. Do not use directly. Create or use a device subclass that inherits this class. Do not use directly.
@@ -230,7 +231,7 @@ None.
=over =over
=item CISCO-CDP-MIB =item F<CISCO-CDP-MIB>
=back =back
@@ -253,27 +254,28 @@ Accounts for SNMP version 1 devices which may have CDP but not cdp_run()
Is CDP enabled on this device? Note that a lot of Cisco devices that implement Is CDP enabled on this device? Note that a lot of Cisco devices that implement
CDP don't implement this value. @#%$! CDP don't implement this value. @#%$!
(B<cdpGlobalRun>) (C<cdpGlobalRun>)
=item $cdp->cdp_interval() =item $cdp->cdp_interval()
Interval in seconds at which CDP messages are generated. Interval in seconds at which CDP messages are generated.
(B<cdpGlobalMessageInterval>) (C<cdpGlobalMessageInterval>)
=item $cdp->cdp_holdtime() =item $cdp->cdp_holdtime()
Time in seconds that CDP messages are kept. Time in seconds that CDP messages are kept.
(B<cdpGlobalHoldTime>) (C<cdpGlobalHoldTime>)
=item $cdp->cdp_id() =item $cdp->cdp_id()
Returns CDP device ID. Returns CDP device ID.
This is the device id broadcast via CDP to other devices, and is what is retrieved from remote devices with $cdp->id(). This is the device id broadcast via CDP to other devices, and is what is
retrieved from remote devices with $cdp->id().
(B<cdpGlobalDeviceId>) (C<cdpGlobalDeviceId>)
=back =back
@@ -300,7 +302,7 @@ From L<http://www.cisco.com/univercd/cc/td/doc/product/lan/trsrb/frames.htm#1884
=item (0x40) - Provides level 1 functionality. =item (0x40) - Provides level 1 functionality.
=item (0x20) - The bridge or switch does not forward IGMP Report packets on nonrouter ports. =item (0x20) - The bridge or switch does not forward IGMP Report packets on non router ports.
=item (0x10) - Sends and receives packets for at least one network layer protocol. If the device is routing the protocol, this bit should not be set. =item (0x10) - Sends and receives packets for at least one network layer protocol. If the device is routing the protocol, this bit should not be set.
@@ -314,27 +316,29 @@ From L<http://www.cisco.com/univercd/cc/td/doc/product/lan/trsrb/frames.htm#1884
=back =back
Thanks to Martin Lorensen C<martin -at- lorensen.dk> for a pointer to this information. Thanks to Martin Lorensen C<martin -at- lorensen.dk> for a pointer to this
information.
(B<cdpCacheCapabilities>) (C<cdpCacheCapabilities>)
=item $cdp->c_domain() =item $cdp->c_domain()
Returns remote VTP Management Domain as defined in CISCO-VTP-MIB::managementDomainName Returns remote VTP Management Domain as defined in
C<CISCO-VTP-MIB::managementDomainName>
(B<cdpCacheVTPMgmtDomain>) (C<cdpCacheVTPMgmtDomain>)
=item $cdp->c_duplex() =item $cdp->c_duplex()
Returns the port duplex status from remote devices. Returns the port duplex status from remote devices.
(B<cdpCacheDuplex>) (C<cdpCacheDuplex>)
=item $cdp->c_id() =item $cdp->c_id()
Returns remote device id string Returns remote device id string
(B<cdpCacheDeviceId>) (C<cdpCacheDeviceId>)
=item $cdp->c_if() =item $cdp->c_if()
@@ -343,8 +347,8 @@ Returns the mapping to the SNMP Interface Table.
Note that a lot devices don't implement $cdp->c_index(), So if it isn't around, Note that a lot devices don't implement $cdp->c_index(), So if it isn't around,
we fake it. we fake it.
In order to map the cdp table entry back to the interfaces() entry, we truncate the last number In order to map the cdp table entry back to the interfaces() entry, we truncate
off of it : the last number off of it :
# it exists, yay. # it exists, yay.
my $c_index = $device->c_index(); my $c_index = $device->c_index();
@@ -368,54 +372,55 @@ off of it :
Returns the mapping to the SNMP2 Interface table for CDP Cache Entries. Returns the mapping to the SNMP2 Interface table for CDP Cache Entries.
Most devices don't implement this, so you probably want to use $cdp->c_if() instead. Most devices don't implement this, so you probably want to use $cdp->c_if()
instead.
See c_if() entry. See c_if() entry.
(B<cdpCacheIfIndex>) (C<cdpCacheIfIndex>)
=item $cdp->c_ip() =item $cdp->c_ip()
If $cdp->c_proto() is supported, returns remote IPV4 address only. Otherwise If $cdp->c_proto() is supported, returns remote IPV4 address only. Otherwise
it will return all addresses. it will return all addresses.
(B<cdpCacheAddress>) (C<cdpCacheAddress>)
=item $cdp->c_addr() =item $cdp->c_addr()
Returns remote address Returns remote address
(B<cdpCacheAddress>) (C<cdpCacheAddress>)
=item $cdp->c_platform() =item $cdp->c_platform()
Returns remote platform id Returns remote platform id
(B<cdpCachePlatform>) (C<cdpCachePlatform>)
=item $cdp->c_port() =item $cdp->c_port()
Returns remote port ID Returns remote port ID
(B<cdpDevicePort>) (C<cdpDevicePort>)
=item $cdp->c_proto() =item $cdp->c_proto()
Returns remote address type received. Usually IP. Returns remote address type received. Usually IP.
(B<cdpCacheAddressType>) (C<cdpCacheAddressType>)
=item $cdp->c_ver() =item $cdp->c_ver()
Returns remote hardware version Returns remote hardware version
(B<cdpCacheVersion>) (C<cdpCacheVersion>)
=item $cdp->c_vlan() =item $cdp->c_vlan()
Returns the remote interface native VLAN. Returns the remote interface native VLAN.
(B<cdpCacheNativeVLAN>) (C<cdpCacheNativeVLAN>)
=back =back

View File

@@ -1,32 +1,32 @@
# SNMP::Info::CiscoConfig # SNMP::Info::CiscoConfig
# Justin Hunter, Eric Miller
# $Id$ # $Id$
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::CiscoConfig; package SNMP::Info::CiscoConfig;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
@@ -262,7 +262,7 @@ Justin Hunter, Eric Miller
=head1 DESCRIPTION =head1 DESCRIPTION
SNMP::Info::CiscoConfig is a subclass of SNMP::Info that provides an interface SNMP::Info::CiscoConfig is a subclass of SNMP::Info that provides an interface
to C<CISCO-CONFIG-COPY-MIB>, C<CISCO-FLASH-MIB>, and C<OLD-CISCO-SYS-MIB>. to F<CISCO-CONFIG-COPY-MIB>, F<CISCO-FLASH-MIB>, and F<OLD-CISCO-SYS-MIB>.
These MIBs facilitate the writing of configuration files. These MIBs facilitate the writing of configuration files.
Use or create a subclass of SNMP::Info that inherits this one. Use or create a subclass of SNMP::Info that inherits this one.
@@ -280,11 +280,11 @@ None.
=over =over
=item CISCO-CONFIG-COPY-MIB =item F<CISCO-CONFIG-COPY-MIB>
=item CISCO-FLASH-MIB =item F<CISCO-FLASH-MIB>
=item OLD-CISCO-SYS-MIB =item F<OLD-CISCO-SYS-MIB>
=back =back
@@ -296,11 +296,11 @@ These are methods that return scalar value from SNMP
=item $ciscoconfig->old_write_mem() =item $ciscoconfig->old_write_mem()
(B<writeMem>) (C<writeMem>)
=item $ciscoconfig->old_write_net() =item $ciscoconfig->old_write_net()
(B<writeNet>) (C<writeNet>)
=back =back
@@ -313,65 +313,65 @@ to a hash.
=back =back
=head2 Config Copy Request Table (B<ccCopyTable>) =head2 Config Copy Request Table (C<ccCopyTable>)
=over =over
=item $ciscoconfig->config_protocol() =item $ciscoconfig->config_protocol()
(B<ccCopyProtocol>) (C<ccCopyProtocol>)
=item $ciscoconfig->config_source_type() =item $ciscoconfig->config_source_type()
(B<ccCopySourceFileType>) (C<ccCopySourceFileType>)
=item $ciscoconfig->config_dest_type() =item $ciscoconfig->config_dest_type()
(B<ccCopyDestFileType>) (C<ccCopyDestFileType>)
=item $ciscoconfig->config_server_addr() =item $ciscoconfig->config_server_addr()
(B<ccCopyServerAddress>) (C<ccCopyServerAddress>)
=item $ciscoconfig->config_filename() =item $ciscoconfig->config_filename()
(B<ccCopyFileName>) (C<ccCopyFileName>)
=item $ciscoconfig->config_username() =item $ciscoconfig->config_username()
(B<ccCopyUserName>) (C<ccCopyUserName>)
=item $ciscoconfig->config_password() =item $ciscoconfig->config_password()
(B<ccCopyUserPassword>) (C<ccCopyUserPassword>)
=item $ciscoconfig->config_notify_complete() =item $ciscoconfig->config_notify_complete()
(B<ccCopyNotificationOnCompletion>) (C<ccCopyNotificationOnCompletion>)
=item $ciscoconfig->config_copy_state() =item $ciscoconfig->config_copy_state()
(B<ccCopyState>) (C<ccCopyState>)
=item $ciscoconfig->config_copy_start_time() =item $ciscoconfig->config_copy_start_time()
(B<ccCopyTimeStarted>) (C<ccCopyTimeStarted>)
=item $ciscoconfig->config_copy_complete_time() =item $ciscoconfig->config_copy_complete_time()
(B<ccCopyTimeCompleted>) (C<ccCopyTimeCompleted>)
=item $ciscoconfig->config_fail_cause() =item $ciscoconfig->config_fail_cause()
(B<ccCopyFailCause>) (C<ccCopyFailCause>)
=item $ciscoconfig->config_row_status() =item $ciscoconfig->config_row_status()
(B<ccCopyEntryRowStatus>) (C<ccCopyEntryRowStatus>)
=back =back
=head2 Flash Copy Table (B<ciscoFlashCopyTable>) =head2 Flash Copy Table (C<ciscoFlashCopyTable>)
Table of Flash copy operation entries. Table of Flash copy operation entries.
@@ -379,27 +379,27 @@ Table of Flash copy operation entries.
=item $ciscoconfig->flash_copy_cmd() =item $ciscoconfig->flash_copy_cmd()
(B<ciscoFlashCopyCommand>) (C<ciscoFlashCopyCommand>)
=item $ciscoconfig->flash_copy_protocol() =item $ciscoconfig->flash_copy_protocol()
(B<ciscoFlashCopyProtocol>) (C<ciscoFlashCopyProtocol>)
=item $ciscoconfig->flash_copy_address() =item $ciscoconfig->flash_copy_address()
(B<ciscoFlashCopyServerAddress>) (C<ciscoFlashCopyServerAddress>)
=item $ciscoconfig->flash_copy_source() =item $ciscoconfig->flash_copy_source()
(B<ciscoFlashCopySourceName>) (C<ciscoFlashCopySourceName>)
=item $ciscoconfig->flash_copy_dest() =item $ciscoconfig->flash_copy_dest()
(B<ciscoFlashCopyDestinationName>) (C<ciscoFlashCopyDestinationName>)
=item $ciscoconfig->flash_copy_row_status() =item $ciscoconfig->flash_copy_row_status()
(B<ciscoFlashCopyEntryStatus>) (C<ciscoFlashCopyEntryStatus>)
=back =back
@@ -418,7 +418,7 @@ commands "copy running-config tftp" or "write net".
This method attempts to use newer "copy running-config tftp" procedure first This method attempts to use newer "copy running-config tftp" procedure first
and then the older "write net" procedure if that fails. The newer procedure is and then the older "write net" procedure if that fails. The newer procedure is
supported Cisco devices with the CISCO-CONFIG-COPY-MIB available, Cisco IOS supported Cisco devices with the F<CISCO-CONFIG-COPY-MIB> available, Cisco IOS
software release 12.0 or on some devices as early as release 11.2P. The software release 12.0 or on some devices as early as release 11.2P. The
older procedure has been depreciated by Cisco and is utilized only to support older procedure has been depreciated by Cisco and is utilized only to support
devices running older code revisions. devices running older code revisions.
@@ -429,12 +429,12 @@ devices running older code revisions.
=item $ciscoconfig->copy_run_start() =item $ciscoconfig->copy_run_start()
Copy the running configuration to the startup configuration. Equivalent to Copy the running configuration to the start up configuration. Equivalent to
the CLI command "copy running-config startup-config" or "write mem". the CLI command C<"copy running-config startup-config"> or C<"write mem">.
This method attempts to use newer "copy running-config startup-config" This method attempts to use newer C<"copy running-config startup-config">
procedure first and then the older "write mem" procedure if that fails. The procedure first and then the older C<"write mem"> procedure if that fails. The
newer procedure is supported Cisco devices with the CISCO-CONFIG-COPY-MIB newer procedure is supported Cisco devices with the F<CISCO-CONFIG-COPY-MIB>
available, Cisco IOS software release 12.0 or on some devices as early as available, Cisco IOS software release 12.0 or on some devices as early as
release 11.2P. The older procedure has been depreciated by Cisco and is release 11.2P. The older procedure has been depreciated by Cisco and is
utilized only to support devices running older code revisions. utilized only to support devices running older code revisions.
@@ -443,4 +443,6 @@ utilized only to support devices running older code revisions.
$ciscoconfig->copy_run_start() $ciscoconfig->copy_run_start()
or die "Couldn't save config. ",$ciscoconfig->error(1); or die "Couldn't save config. ",$ciscoconfig->error(1);
=back
=cut =cut

View File

@@ -3,28 +3,29 @@ package SNMP::Info::CiscoImage;
# Copyright (c) 2005 Matt Tuttle # Copyright (c) 2005 Matt Tuttle
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
use strict; use strict;
@@ -32,7 +33,7 @@ use Exporter;
use SNMP::Info; use SNMP::Info;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/; use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '1.07'; $VERSION = '1.09';
@SNMP::Info::CiscoImage::ISA = qw/SNMP::Info Exporter/; @SNMP::Info::CiscoImage::ISA = qw/SNMP::Info Exporter/;
@SNMP::Info::CiscoImage::EXPORT_OK = qw//; @SNMP::Info::CiscoImage::EXPORT_OK = qw//;
@@ -93,7 +94,7 @@ None.
=over =over
=item CISCO-IMAGE-MIB =item F<CISCO-IMAGE-MIB>
=back =back
@@ -111,7 +112,7 @@ None.
Returns the table of image strings. Returns the table of image strings.
B<ciscoImageString> C<ciscoImageString>
=back =back

View File

@@ -1,34 +1,34 @@
# SNMP::Info::CiscoPortSecurity # SNMP::Info::CiscoPortSecurity
# Eric Miller # $Id$
# #
# Copyright (c) 2006 Eric Miller # Copyright (c) 2008 Eric Miller
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the author nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::CiscoPortSecurity; package SNMP::Info::CiscoPortSecurity;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -118,7 +118,7 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::CiscoPortSecurity - SNMP Interface to data from SNMP::Info::CiscoPortSecurity - SNMP Interface to data from
CISCO-PORT-SECURITY-MIB and CISCO-PAE-MIB F<CISCO-PORT-SECURITY-MIB> and F<CISCO-PAE-MIB>
=head1 AUTHOR =head1 AUTHOR
@@ -128,12 +128,11 @@ Eric Miller
# Let SNMP::Info determine the correct subclass for you. # Let SNMP::Info determine the correct subclass for you.
my $cps = new SNMP::Info( my $cps = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session DestHost => 'myswitch',
DestHost => 'myswitch', Community => 'public',
Community => 'public', Version => 2
Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
@@ -143,7 +142,7 @@ Eric Miller
=head1 DESCRIPTION =head1 DESCRIPTION
SNMP::Info::CiscoPortSecurity is a subclass of SNMP::Info that provides SNMP::Info::CiscoPortSecurity is a subclass of SNMP::Info that provides
an interface to the C<CISCO-PORT-SECURITY-MIB> and C<CISCO-PAE-MIB>. These an interface to the F<CISCO-PORT-SECURITY-MIB> and F<CISCO-PAE-MIB>. These
MIBs are used across the Catalyst family under CatOS and IOS. MIBs are used across the Catalyst family under CatOS and IOS.
Use or create in a subclass of SNMP::Info. Do not use directly. Use or create in a subclass of SNMP::Info. Do not use directly.
@@ -156,17 +155,14 @@ None.
=over =over
=item CISCO-PORT-SECURITY-MIB =item F<CISCO-PORT-SECURITY-MIB>
=item CISCO-PAE-MIB =item F<CISCO-PAE-MIB>
=item IEEE8021-PAE-MIB =item F<IEEE8021-PAE-MIB>
=back =back
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz or from
Netdisco-mib package at netdisco.org.
=head1 GLOBALS =head1 GLOBALS
These are methods that return scalar values from SNMP These are methods that return scalar values from SNMP
@@ -175,185 +171,185 @@ These are methods that return scalar values from SNMP
=back =back
=head2 CISCO-PORT-SECURITY-MIB globals =head2 F<CISCO-PORT-SECURITY-MIB> globals
=over =over
=item $stack->cps_clear() =item $stack->cps_clear()
(B<cpsGlobalClearSecureMacAddresses>) (C<cpsGlobalClearSecureMacAddresses>)
=item $stack->cps_notify() =item $stack->cps_notify()
(B<cpsGlobalSNMPNotifControl>) (C<cpsGlobalSNMPNotifControl>)
=item $stack->cps_rate() =item $stack->cps_rate()
(B<cpsGlobalSNMPNotifRate>) (C<cpsGlobalSNMPNotifRate>)
=item $stack->cps_enable() =item $stack->cps_enable()
(B<cpsGlobalPortSecurityEnable>) (C<cpsGlobalPortSecurityEnable>)
=item $stack->cps_mac_count() =item $stack->cps_mac_count()
(B<cpsGlobalTotalSecureAddress>) (C<cpsGlobalTotalSecureAddress>)
=item $stack->cps_mac_max() =item $stack->cps_mac_max()
(B<cpsGlobalMaxSecureAddress>) (C<cpsGlobalMaxSecureAddress>)
=back =back
=head1 TABLE METHODS =head1 TABLE METHODS
=head2 CISCO-PORT-SECURITY-MIB - Interface Config Table =head2 F<CISCO-PORT-SECURITY-MIB> - Interface Config Table
=over =over
=item $stack->cps_i_limit_val() =item $stack->cps_i_limit_val()
(B<cpsIfInvalidSrcRateLimitValue>) (C<cpsIfInvalidSrcRateLimitValue>)
=item $stack->cps_i_limit() =item $stack->cps_i_limit()
(B<cpsIfInvalidSrcRateLimitEnable>) (C<cpsIfInvalidSrcRateLimitEnable>)
=item $stack->cps_i_sticky() =item $stack->cps_i_sticky()
(B<cpsIfStickyEnable>) (C<cpsIfStickyEnable>)
=item $stack->cps_i_clear_type() =item $stack->cps_i_clear_type()
(B<cpsIfClearSecureMacAddresses>) (C<cpsIfClearSecureMacAddresses>)
=item $stack->cps_i_shutdown() =item $stack->cps_i_shutdown()
(B<cpsIfShutdownTimeout>) (C<cpsIfShutdownTimeout>)
=item $stack->cps_i_flood() =item $stack->cps_i_flood()
(B<cpsIfUnicastFloodingEnable>) (C<cpsIfUnicastFloodingEnable>)
=item $stack->cps_i_clear() =item $stack->cps_i_clear()
(B<cpsIfClearSecureAddresses>) (C<cpsIfClearSecureAddresses>)
=item $stack->cps_i_mac() =item $stack->cps_i_mac()
(B<cpsIfSecureLastMacAddress>) (C<cpsIfSecureLastMacAddress>)
=item $stack->cps_i_count() =item $stack->cps_i_count()
(B<cpsIfViolationCount>) (C<cpsIfViolationCount>)
=item $stack->cps_i_action() =item $stack->cps_i_action()
(B<cpsIfViolationAction>) (C<cpsIfViolationAction>)
=item $stack->cps_i_mac_static() =item $stack->cps_i_mac_static()
(B<cpsIfStaticMacAddrAgingEnable>) (C<cpsIfStaticMacAddrAgingEnable>)
=item $stack->cps_i_mac_type() =item $stack->cps_i_mac_type()
(B<cpsIfSecureMacAddrAgingType>) (C<cpsIfSecureMacAddrAgingType>)
=item $stack->cps_i_mac_age() =item $stack->cps_i_mac_age()
(B<cpsIfSecureMacAddrAgingTime>) (C<cpsIfSecureMacAddrAgingTime>)
=item $stack->cps_i_mac_count() =item $stack->cps_i_mac_count()
(B<cpsIfCurrentSecureMacAddrCount>) (C<cpsIfCurrentSecureMacAddrCount>)
=item $stack->cps_i_mac_max() =item $stack->cps_i_mac_max()
(B<cpsIfMaxSecureMacAddr>) (C<cpsIfMaxSecureMacAddr>)
=item $stack->cps_i_status() =item $stack->cps_i_status()
(B<cpsIfPortSecurityStatus>) (C<cpsIfPortSecurityStatus>)
=item $stack->cps_i_enable() =item $stack->cps_i_enable()
(B<cpsIfPortSecurityEnable>) (C<cpsIfPortSecurityEnable>)
=back =back
=head2 CISCO-PORT-SECURITY-MIB::cpsIfVlanTable =head2 C<CISCO-PORT-SECURITY-MIB::cpsIfVlanTable>
=over =over
=item $stack->cps_i_v_mac_count() =item $stack->cps_i_v_mac_count()
(B<cpsIfVlanCurSecureMacAddrCount>) (C<cpsIfVlanCurSecureMacAddrCount>)
=item $stack->cps_i_v_mac_max() =item $stack->cps_i_v_mac_max()
(B<cpsIfVlanMaxSecureMacAddr>) (C<cpsIfVlanMaxSecureMacAddr>)
=item $stack->cps_i_v() =item $stack->cps_i_v()
(B<cpsIfVlanIndex>) (C<cpsIfVlanIndex>)
=back =back
=head2 CISCO-PORT-SECURITY-MIB::cpsIfVlanSecureMacAddrTable =head2 C<CISCO-PORT-SECURITY-MIB::cpsIfVlanSecureMacAddrTable>
=over =over
=item $stack->cps_i_v_mac_status() =item $stack->cps_i_v_mac_status()
(B<cpsIfVlanSecureMacAddrRowStatus>) (C<cpsIfVlanSecureMacAddrRowStatus>)
=item $stack->cps_i_v_mac_age() =item $stack->cps_i_v_mac_age()
(B<cpsIfVlanSecureMacAddrRemainAge>) (C<cpsIfVlanSecureMacAddrRemainAge>)
=item $stack->cps_i_v_mac_type() =item $stack->cps_i_v_mac_type()
(B<cpsIfVlanSecureMacAddrType>) (C<cpsIfVlanSecureMacAddrType>)
=item $stack->cps_i_v_vlan() =item $stack->cps_i_v_vlan()
(B<cpsIfVlanSecureVlanIndex>) (C<cpsIfVlanSecureVlanIndex>)
=item $stack->cps_i_v_mac() =item $stack->cps_i_v_mac()
(B<cpsIfVlanSecureMacAddress>) (C<cpsIfVlanSecureMacAddress>)
=back =back
=head2 CISCO-PORT-SECURITY-MIB::cpsSecureMacAddressTable =head2 C<CISCO-PORT-SECURITY-MIB::cpsSecureMacAddressTable>
=over =over
=item $stack->cps_m_status() =item $stack->cps_m_status()
(B<cpsSecureMacAddrRowStatus>) (C<cpsSecureMacAddrRowStatus>)
=item $stack->cps_m_age() =item $stack->cps_m_age()
(B<cpsSecureMacAddrRemainingAge>) (C<cpsSecureMacAddrRemainingAge>)
=item $stack->cps_m_type() =item $stack->cps_m_type()
(B<cpsSecureMacAddrType>) (C<cpsSecureMacAddrType>)
=item $stack->cps_m_mac() =item $stack->cps_m_mac()
(B<cpsSecureMacAddress>) (C<cpsSecureMacAddress>)
=back =back
=head2 CISCO-PAE-MIB::dot1xPaePortEntry =head2 C<CISCO-PAE-MIB::dot1xPaePortEntry>
=over =over
=item $stack->pae_i_capabilities() =item $stack->pae_i_capabilities()
B<dot1xPaePortCapabilities> C<dot1xPaePortCapabilities>
Indicates the PAE functionality that this Port supports Indicates the PAE functionality that this Port supports
and that may be managed through this MIB. and that may be managed through this MIB.

View File

@@ -1,34 +1,34 @@
# SNMP::Info::CiscoPower # SNMP::Info::CiscoPower
# Bill Fenner # $Id$
# #
# Copyright (c) 2007 Bill Fenner # Copyright (c) 2008 Bill Fenner
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::CiscoPower; package SNMP::Info::CiscoPower;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -73,9 +73,12 @@ sub peth_port_ifindex {
1; 1;
__END__
=head1 NAME =head1 NAME
SNMP::Info::CiscoPower - SNMP Interface to data stored in CISCO-POWER-ETHERNET-EXT-MIB. SNMP::Info::CiscoPower - SNMP Interface to data stored in
F<CISCO-POWER-ETHERNET-EXT-MIB>.
=head1 AUTHOR =head1 AUTHOR
@@ -87,7 +90,6 @@ Bill Fenner
my $poe = new SNMP::Info( my $poe = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -100,8 +102,8 @@ Bill Fenner
=head1 DESCRIPTION =head1 DESCRIPTION
The Info::PowerEthernet class needs a per-device helper function to The Info::PowerEthernet class needs a per-device helper function to
properly map the pethPsePortTable to ifIndex values. This class properly map the C<pethPsePortTable> to C<ifIndex> values. This class
provides that helper, using CISCO-POWER-ETHERNET-EXT-MIB. provides that helper, using F<CISCO-POWER-ETHERNET-EXT-MIB>.
It does not define any helpers for the extra values that this MIB It does not define any helpers for the extra values that this MIB
contains. contains.
@@ -121,7 +123,7 @@ Note that it requires that the device inherits from Info::Entity.
=over =over
=item CISCO-POWER-ETHERNET-EXT-MIB =item F<CISCO-POWER-ETHERNET-EXT-MIB>
=back =back
@@ -140,7 +142,7 @@ to a hash.
=item $poe->peth_port_ifindex() =item $poe->peth_port_ifindex()
Maps the pethPsePortTable to ifIndex by way of the ENTITY-MIB. Maps the C<pethPsePortTable> to C<ifIndex> by way of the F<ENTITY-MIB>.
=back =back

View File

@@ -1,5 +1,5 @@
# SNMP::Info::CiscoQOS # SNMP::Info::CiscoQOS
# Alexander Hartmaier <alexander.hartmaier@t-systems.at> # $Id$
# #
# Copyright (c) 2005 Alexander Hartmaier # Copyright (c) 2005 Alexander Hartmaier
# #
@@ -10,28 +10,28 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::CiscoQOS; package SNMP::Info::CiscoQOS;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
use Exporter; use Exporter;
@@ -90,7 +90,6 @@ Alexander Hartmaier
my $qos = new SNMP::Info( my $qos = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -115,7 +114,7 @@ none.
=over =over
=item CISCO-CLASS-BASED-QOS-MIB =item F<CISCO-CLASS-BASED-QOS-MIB>
=back =back
@@ -131,87 +130,89 @@ MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
=head1 TABLE METHODS =head1 TABLE METHODS
=head2 ServicePolicy Table (B<cbQosServicePolicyTable>) =head2 Service Policy Table (C<cbQosServicePolicyTable>)
This table describes the interfaces/media types and the policymap that are This table describes the interfaces/media types and the policy map that are
attached to it. attached to it.
=over =over
=item $qos->qos_i_index() =item $qos->qos_i_index()
(B<cbQosIfIndex>) (C<cbQosIfIndex>)
=item $qos->qos_i_type() =item $qos->qos_i_type()
(B<cbQosIfType>) (C<cbQosIfType>)
=item $qos->qos_pol_direction() =item $qos->qos_pol_direction()
(B<cbQosPolicyDirection>) (C<cbQosPolicyDirection>)
=back =back
=head2 ClassMap Objects Table (B<cbQosObjectsTable>) =head2 Class Map Objects Table (C<cbQosObjectsTable>)
=over =over
=item $qos->qos_obj_index() =item $qos->qos_obj_index()
(B<cbQosConfigIndex>) (C<cbQosConfigIndex>)
=item $qos->qos_obj_type() =item $qos->qos_obj_type()
(B<cbQosObjectsType>) (C<cbQosObjectsType>)
=item $qos->qos_obj_parent() =item $qos->qos_obj_parent()
(B<cbQosParentObjectsIndex>) (C<cbQosParentObjectsIndex>)
=back =back
=head2 ClassMap Configuration Table (B<cbQosCMCfgTable>) =head2 Class Map Configuration Table (C<cbQosCMCfgTable>)
=over =over
=item $qos->qos_cm_name() =item $qos->qos_cm_name()
(B<cbQosCMName>) (C<cbQosCMName>)
=item $qos->qos_cm_desc() =item $qos->qos_cm_desc()
(B<cbQosCMDesc>) (C<cbQosCMDesc>)
=item $qos->qos_cm_info() =item $qos->qos_cm_info()
(B<cbQosCMInfo>) (C<cbQosCMInfo>)
=back =back
=head2 ClassMap Stats Table (B<cbQosCMStatsTable>) =head2 Class Map Stats Table (C<cbQosCMStatsTable>)
=over =over
=item $qos->qos_octet_pre() =item $qos->qos_octet_pre()
(B<cbQosCMPrePolicyByte>) (C<cbQosCMPrePolicyByte>)
=item $qos->qos_octet_post() =item $qos->qos_octet_post()
(B<cbQosCMPostPolicyByte>) (C<cbQosCMPostPolicyByte>)
=back =back
=head2 Queueing Configuration Table (B<cbQosQueueingCfgTable>) =head2 Queueing Configuration Table (C<cbQosQueueingCfgTable>)
=over =over
=item $qos->qos_queueingcfg_bw() =item $qos->qos_queueingcfg_bw()
(B<cbQosQueueingCfgBandwidth>) (C<cbQosQueueingCfgBandwidth>)
=item $qos->qos_queueingcfg_bw_units() =item $qos->qos_queueingcfg_bw_units()
(B<cbQosQueueingCfgBandwidthUnits>) (C<cbQosQueueingCfgBandwidthUnits>)
=back
=cut =cut

View File

@@ -1,5 +1,4 @@
# SNMP::Info::CiscoRTT # SNMP::Info::CiscoRTT
# Alexander Hartmaier <alexander.hartmaier@t-systems.at>
# $Id$ # $Id$
# #
# Copyright (c) 2005 Alexander Hartmaier # Copyright (c) 2005 Alexander Hartmaier
@@ -11,26 +10,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::CiscoRTT; package SNMP::Info::CiscoRTT;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
@@ -75,7 +75,6 @@ Alexander Hartmaier
my $rtt = new SNMP::Info( my $rtt = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -100,7 +99,7 @@ none.
=over =over
=item CISCO-RTTMON-MIB =item F<CISCO-RTTMON-MIB>
=back =back
@@ -118,25 +117,25 @@ None
=head2 Overall Control Group Table =head2 Overall Control Group Table
This table is from CISCO-RTTMAN-MIB::rttMonCtrlAdminTable This table is from C<CISCO-RTTMAN-MIB::rttMonCtrlAdminTable>
=over =over
=item $rtt->rtt_desc() =item $rtt->rtt_desc()
(B<rttMonCtrlAdminOwner>) (C<rttMonCtrlAdminOwner>)
=back =back
=head2 Overall Control Group Table =head2 Overall Control Group Table
This table is from CISCO-RTTMON-MIB::rttMonCtrl This table is from C<CISCO-RTTMON-MIB::rttMonCtrl>
=over =over
=item $rtt->rtt_last() =item $rtt->rtt_last()
(B<rttMonLatestRttOperCompletionTime>) (C<rttMonLatestRttOperCompletionTime>)
=back =back

View File

@@ -1,7 +1,7 @@
# SNMP::Info::CiscoStack # SNMP::Info::CiscoStack
# Max Baker # $Id$
# #
# Copyright (c)2003,2004,2006 Max Baker # Copyright (c) 2008 Max Baker
# All rights reserved. # All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@@ -9,27 +9,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the author nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::CiscoStack; package SNMP::Info::CiscoStack;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -272,8 +272,8 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::CiscoStack - SNMP Inteface to data from CISCO-STACK-MIB and SNMP::Info::CiscoStack - SNMP Interface to data from F<CISCO-STACK-MIB> and
CISCO-PORT-SECURITY-MIB F<CISCO-PORT-SECURITY-MIB>
=head1 AUTHOR =head1 AUTHOR
@@ -285,7 +285,6 @@ Max Baker
my $ciscostats = new SNMP::Info( my $ciscostats = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -311,56 +310,53 @@ none.
=over =over
=item CISCO-STACK-MIB =item F<CISCO-STACK-MIB>
=back =back
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz or from
Netdisco-mib package at netdisco.org.
=head1 GLOBALS =head1 GLOBALS
=over =over
=item $stack->broadcast() =item $stack->broadcast()
(B<sysBroadcast>) (C<sysBroadcast>)
=item $stack->fan() =item $stack->fan()
(B<chassisFanStatus>) (C<chassisFanStatus>)
=item $stack->model() =item $stack->model()
(B<chassisModel>) (C<chassisModel>)
=item $stack->netmask() =item $stack->netmask()
(B<sysNetMask>) (C<sysNetMask>)
=item $stack->ps1_type() =item $stack->ps1_type()
(B<chassisPs1Type>) (C<chassisPs1Type>)
=item $stack->ps2_type() =item $stack->ps2_type()
(B<chassisPs2Type>) (C<chassisPs2Type>)
=item $stack->ps1_status() =item $stack->ps1_status()
(B<chassisPs1Status>) (C<chassisPs1Status>)
=item $stack->ps2_status() =item $stack->ps2_status()
(B<chassisPs2Status>) (C<chassisPs2Status>)
=item $stack->serial() =item $stack->serial()
(B<chassisSerialNumberString>) or (B<chassisSerialNumber>) (C<chassisSerialNumberString>) or (C<chassisSerialNumber>)
=item $stack->slots() =item $stack->slots()
(B<chassisNumSlots>) (C<chassisNumSlots>)
=back =back
@@ -378,34 +374,34 @@ Returns a map to IID for ports that are physical ports, not vlans, etc.
Crosses p_port() with p_type() and returns the results. Crosses p_port() with p_type() and returns the results.
Overrides with ifType if p_type() isn't available. Overrides with C<ifType> if p_type() isn't available.
=item $stack->i_duplex() =item $stack->i_duplex()
Returns reference to hash of iid to current link duplex setting. Returns reference to hash of iid to current link duplex setting.
First checks for fixed gigabit ports which are always full duplex. Next, if First checks for fixed gigabit ports which are always full duplex. Next, if
the port is not operational and reported port duplex (B<portDuplex>) is auto the port is not operational and reported port duplex (C<portDuplex>) is auto
then the operational duplex can not be determined. Otherwise it uses the then the operational duplex can not be determined. Otherwise it uses the
reported port duplex (B<portDuplex>). reported port duplex (C<portDuplex>).
=item $stack->i_duplex_admin() =item $stack->i_duplex_admin()
Returns reference to hash of iid to administrative duplex setting. Returns reference to hash of iid to administrative duplex setting.
First checks for fixed gigabit ports which are always full duplex. Next checks First checks for fixed gigabit ports which are always full duplex. Next checks
the port administrative speed (B<portAdminSpeed>) which if set to the port administrative speed (C<portAdminSpeed>) which if set to
autonegotiate then the duplex will also autonegotiate, otherwise it uses the autonegotiate then the duplex will also autonegotiate, otherwise it uses the
reported port duplex (B<portDuplex>). reported port duplex (C<portDuplex>).
=item $stack->set_i_speed_admin(speed, ifIndex) =item $stack->set_i_speed_admin(speed, ifIndex)
Sets port speed, must be supplied with speed and port ifIndex Sets port speed, must be supplied with speed and port C<ifIndex>
Speed choices are 'auto', '10', '100', '1000' Speed choices are 'auto', '10', '100', '1000'
Crosses $stack->p_port() with $stack->p_duplex() to Crosses $stack->p_port() with $stack->p_duplex() to
utilize port ifIndex. utilize port C<ifIndex>.
Example: Example:
my %if_map = reverse %{$stack->interfaces()}; my %if_map = reverse %{$stack->interfaces()};
@@ -414,12 +410,12 @@ reported port duplex (B<portDuplex>).
=item $stack->set_i_duplex_admin(duplex, ifIndex) =item $stack->set_i_duplex_admin(duplex, ifIndex)
Sets port duplex, must be supplied with duplex and port ifIndex Sets port duplex, must be supplied with duplex and port C<ifIndex>
Speed choices are 'auto', 'half', 'full' Speed choices are 'auto', 'half', 'full'
Crosses $stack->p_port() with $stack->p_duplex() to Crosses $stack->p_port() with $stack->p_duplex() to
utilize port ifIndex. utilize port C<ifIndex>.
Example: Example:
my %if_map = reverse %{$stack->interfaces()}; my %if_map = reverse %{$stack->interfaces()};
@@ -437,27 +433,27 @@ the Catalyst device.
=item $stack->m_type() =item $stack->m_type()
(B<moduleType>) (C<moduleType>)
=item $stack->m_model() =item $stack->m_model()
(B<moduleModel>) (C<moduleModel>)
=item $stack->m_serial() =item $stack->m_serial()
(B<moduleSerialNumber>) (C<moduleSerialNumber>)
=item $stack->m_status() =item $stack->m_status()
(B<moduleStatus>) (C<moduleStatus>)
=item $stack->m_name() =item $stack->m_name()
(B<moduleName>) (C<moduleName>)
=item $stack->m_ports() =item $stack->m_ports()
(B<moduleNumPorts>) (C<moduleNumPorts>)
=item $stack->m_ports_status() =item $stack->m_ports_status()
@@ -468,31 +464,31 @@ To see the status of port 4 :
@ports_status = split(' ', $stack->m_ports_status() ); @ports_status = split(' ', $stack->m_ports_status() );
$port4 = $ports_status[3]; $port4 = $ports_status[3];
(B<modulePortStatus>) (C<modulePortStatus>)
=item $stack->m_ports_hwver() =item $stack->m_ports_hwver()
(B<moduleHwVersion>) (C<moduleHwVersion>)
=item $stack->m_ports_fwver() =item $stack->m_ports_fwver()
(B<moduleFwVersion>) (C<moduleFwVersion>)
=item $stack->m_ports_swver() =item $stack->m_ports_swver()
(B<moduleSwVersion>) (C<moduleSwVersion>)
=item $stack->m_ports_ip() =item $stack->m_ports_ip()
(B<moduleIPAddress>) (C<moduleIPAddress>)
=item $stack->m_ports_sub1() =item $stack->m_ports_sub1()
(B<moduleSubType>) (C<moduleSubType>)
=item $stack->m_ports_sub2() =item $stack->m_ports_sub2()
(B<moduleSubType2>) (C<moduleSubType2>)
=back =back
@@ -502,49 +498,49 @@ To see the status of port 4 :
=item $stack->m_ip() =item $stack->m_ip()
(B<moduleIPAddress>) (C<moduleIPAddress>)
=item $stack->m_sub1() =item $stack->m_sub1()
(B<moduleSubType>) (C<moduleSubType>)
=item $stack->m_sub2() =item $stack->m_sub2()
(B<moduleSubType2>) (C<moduleSubType2>)
=back =back
=head2 Port Entry Table (CISCO-STACK-MIB::portTable) =head2 Port Entry Table (C<CISCO-STACK-MIB::portTable>)
=over =over
=item $stack->p_name() =item $stack->p_name()
(B<portName>) (C<portName>)
=item $stack->p_type() =item $stack->p_type()
(B<portType>) (C<portType>)
=item $stack->p_status() =item $stack->p_status()
(B<portOperStatus>) (C<portOperStatus>)
=item $stack->p_status2() =item $stack->p_status2()
(B<portAdditionalStatus>) (C<portAdditionalStatus>)
=item $stack->p_speed() =item $stack->p_speed()
(B<portAdminSpeed>) (C<portAdminSpeed>)
=item $stack->p_duplex() =item $stack->p_duplex()
(B<portDuplex>) (C<portDuplex>)
=item $stack->p_port() =item $stack->p_port()
(B<portIfIndex>) (C<portIfIndex>)
=item $stack->p_rx_flow_control() =item $stack->p_rx_flow_control()
@@ -554,7 +550,7 @@ Can be either C<on> C<off> or C<disagree>
could not agree with the far end on a link protocol, its operational status could not agree with the far end on a link protocol, its operational status
will be disagree(3)." will be disagree(3)."
B<portOperRxFlowControl> C<portOperRxFlowControl>
=item $stack->p_tx_flow_control() =item $stack->p_tx_flow_control()
@@ -564,7 +560,7 @@ Can be either C<on> C<off> or C<disagree>
port could not agree with the far end on a link protocol, its operational port could not agree with the far end on a link protocol, its operational
status will be disagree(3)." status will be disagree(3)."
B<portOperTxFlowControl> C<portOperTxFlowControl>
=item $stack->p_rx_flow_control_admin() =item $stack->p_rx_flow_control_admin()
@@ -576,7 +572,7 @@ control. If the status is set to off(2), the port will not allow far end to
send flow control. If the status is set to desired(3), the port will allow the send flow control. If the status is set to desired(3), the port will allow the
far end to send the flow control." far end to send the flow control."
B<portAdminRxFlowControl> C<portAdminRxFlowControl>
=item $stack->p_tx_flow_control_admin() =item $stack->p_tx_flow_control_admin()
@@ -588,21 +584,21 @@ the status is set to off(2), the port will not send flow control to the far
end. If the status is set to desired(3), the port will send flow control to the end. If the status is set to desired(3), the port will send flow control to the
far end if the far end supports it." far end if the far end supports it."
B<portAdminTxFlowControl> C<portAdminTxFlowControl>
=back =back
=head2 Port Capability Table (CISCO-STACK-MIB::portCpbTable) =head2 Port Capability Table (C<CISCO-STACK-MIB::portCpbTable>)
=over =over
=item $stack->p_speed_admin() =item $stack->p_speed_admin()
(B<portCpbSpeed>) (C<portCpbSpeed>)
=item $stack->p_duplex_admin() =item $stack->p_duplex_admin()
(B<portCpbDuplex>) (C<portCpbDuplex>)
=back =back

View File

@@ -1,7 +1,7 @@
# SNMP::Info::CiscoStats # SNMP::Info::CiscoStats
# Max Baker # $Id$
# #
# Changes since Version 0.7 Copyright (c) 2004 Max Baker # Changes since Version 0.7 Copyright (c) 2008 Max Baker
# All rights reserved. # All rights reserved.
# #
# Copyright (c) 2003 Regents of the University of California # Copyright (c) 2003 Regents of the University of California
@@ -12,27 +12,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::CiscoStats; package SNMP::Info::CiscoStats;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -233,21 +233,21 @@ None.
=over =over
=item CISCO-PRODUCTS-MIB =item F<CISCO-PRODUCTS-MIB>
=item CISCO-PROCESS-MIB =item F<CISCO-PROCESS-MIB>
=item CISCO-MEMORY-POOL-MIB =item F<CISCO-MEMORY-POOL-MIB>
=item SNMPv2-MIB =item F<SNMPv2-MIB>
=item OLD-CISCO-SYSTEM-MIB =item F<OLD-CISCO-SYSTEM-MIB>
=item CISCO-STACK-MIB =item F<CISCO-STACK-MIB>
=item CISCO-ENTITY-VENDORTYPE-OID-MIB =item F<CISCO-ENTITY-VENDORTYPE-OID-MIB>
=item CISCO-FLASH-MIB =item F<CISCO-FLASH-MIB>
=back =back
@@ -275,78 +275,79 @@ Returns mem_free() + mem_used()
=item $ciscostats->os() =item $ciscostats->os()
Trys to parse if device is running IOS or CatOS from description() Tries to parse if device is running IOS or CatOS from description()
=item $ciscostats->os_ver() =item $ciscostats->os_ver()
Trys to parse device operating system version from description() Tries to parse device operating system version from description()
=item $ciscostats->ios_cpu() =item $ciscostats->ios_cpu()
Current CPU usage in percent. Current CPU usage in percent.
B<1.3.6.1.4.1.9.2.1.56.0> = C<1.3.6.1.4.1.9.2.1.56.0> =
B<OLD-CISCO-CPU-MIB:avgBusyPer> C<OLD-CISCO-CPU-MIB:avgBusyPer>
=item $ciscostats->ios_cpu_1min() =item $ciscostats->ios_cpu_1min()
Average CPU Usage in percent over the last minute. Average CPU Usage in percent over the last minute.
B<1.3.6.1.4.1.9.2.1.57.0> C<1.3.6.1.4.1.9.2.1.57.0>
=item $ciscostats->ios_cpu_5min() =item $ciscostats->ios_cpu_5min()
Average CPU Usage in percent over the last 5 minutes. Average CPU Usage in percent over the last 5 minutes.
B<1.3.6.1.4.1.9.2.1.58.0> C<1.3.6.1.4.1.9.2.1.58.0>
=item $ciscostats->cat_cpu() =item $ciscostats->cat_cpu()
Current CPU usage in percent. Current CPU usage in percent.
B<CISCO-PROCESS-MIB::cpmCPUTotal5sec.9> C<CISCO-PROCESS-MIB::cpmCPUTotal5sec.9>
=item $ciscostats->cat_cpu_1min() =item $ciscostats->cat_cpu_1min()
Average CPU Usage in percent over the last minute. Average CPU Usage in percent over the last minute.
B<CISCO-PROCESS-MIB::cpmCPUTotal1min.9> C<CISCO-PROCESS-MIB::cpmCPUTotal1min.9>
=item $ciscostats->cat_cpu_5min() =item $ciscostats->cat_cpu_5min()
Average CPU Usage in percent over the last 5 minutes. Average CPU Usage in percent over the last 5 minutes.
B<CISCO-PROCESS-MIB::cpmCPUTotal5min.9> C<CISCO-PROCESS-MIB::cpmCPUTotal5min.9>
=item $ciscostats->mem_free() =item $ciscostats->mem_free()
Main DRAM free of the device in bytes. Main DRAM free of the device in bytes.
B<CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolFree> C<CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolFree>
=item $ciscostats->mem_used() =item $ciscostats->mem_used()
Main DRAM used of the device in bytes. Main DRAM used of the device in bytes.
B<CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolUsed> C<CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolUsed>
=item $ciscostats->mem_total() =item $ciscostats->mem_total()
Main DRAM of the device in bytes. Main DRAM of the device in bytes.
B<CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolFree> + B<CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolUsed> C<CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolFree> +
C<CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolUsed>
=item $ciscostats->flashmem_total() =item $ciscostats->flashmem_total()
Flash memory of the device in bytes. Flash memory of the device in bytes.
B<CISCO-FLASH-MIB::ciscoFlashDeviceSize> C<CISCO-FLASH-MIB::ciscoFlashDeviceSize>
=back =back
=head1 TABLE METHODS =head1 TABLE METHODS
=head2 Cisco Memory Pool Table (B<ciscoMemoryPoolTable>) =head2 Cisco Memory Pool Table (C<ciscoMemoryPoolTable>)
=over =over
@@ -355,18 +356,18 @@ B<CISCO-FLASH-MIB::ciscoFlashDeviceSize>
The number of bytes from the memory pool that are currently unused on the The number of bytes from the memory pool that are currently unused on the
managed device. managed device.
(B<ciscoMemoryPoolFree>) (C<ciscoMemoryPoolFree>)
=item $ciscostats->cisco_mem_used() =item $ciscostats->cisco_mem_used()
The number of bytes from the memory pool that are currently in use by The number of bytes from the memory pool that are currently in use by
applications on the managed device. applications on the managed device.
(B<ciscoMemoryPoolUsed>) (C<ciscoMemoryPoolUsed>)
=back =back
=head2 Cisco Flash Device Table (B<ciscoFlashDeviceTable>) =head2 Cisco Flash Device Table (C<ciscoFlashDeviceTable>)
=over =over
@@ -375,6 +376,8 @@ applications on the managed device.
Total size of the Flash device. For a removable device, the size will be Total size of the Flash device. For a removable device, the size will be
zero if the device has been removed. zero if the device has been removed.
(B<ciscoFlashDeviceSize>) (C<ciscoFlashDeviceSize>)
=back
=cut =cut

View File

@@ -1,7 +1,7 @@
# SNMP::Info::CiscoVTP # SNMP::Info::CiscoVTP
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2003 Regents of the University of California # Copyright (c) 2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::CiscoVTP; package SNMP::Info::CiscoVTP;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -426,7 +426,6 @@ Max Baker
my $vtp = new SNMP::Info( my $vtp = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -439,7 +438,7 @@ Max Baker
=head1 DESCRIPTION =head1 DESCRIPTION
SNMP::Info::CiscoVTP is a subclass of SNMP::Info that provides SNMP::Info::CiscoVTP is a subclass of SNMP::Info that provides
information about a Cisco device's VLAN and VTP Domain memebership. information about a Cisco device's VLAN and VTP Domain membership.
Use or create in a subclass of SNMP::Info. Do not use directly. Use or create in a subclass of SNMP::Info. Do not use directly.
@@ -451,11 +450,11 @@ None.
=over =over
=item CISCO-VTP-MIB =item F<CISCO-VTP-MIB>
=item CISCO-VLAN-MEMBERSHIP-MIB =item F<CISCO-VLAN-MEMBERSHIP-MIB>
=item CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB =item F<CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB>
=back =back
@@ -467,27 +466,27 @@ MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
=item $vtp->vtp_version() =item $vtp->vtp_version()
(B<vtpVersion>) (C<vtpVersion>)
=item $vtp->vtp_maxstore() =item $vtp->vtp_maxstore()
(B<vtpMaxVlanStorage>) (C<vtpMaxVlanStorage>)
=item $vtp->vtp_notify() =item $vtp->vtp_notify()
(B<vtpNotificationsEnabled>) (C<vtpNotificationsEnabled>)
=item $vtp->vtp_notify_create() =item $vtp->vtp_notify_create()
(B<vtpVlanCreatedNotifEnabled>) (C<vtpVlanCreatedNotifEnabled>)
=item $vtp->vtp_notify_delete() =item $vtp->vtp_notify_delete()
(B<vtpVlanDeletedNotifEnabled>) (C<vtpVlanDeletedNotifEnabled>)
=item $vtp->vtp_trunk_set_serial() =item $vtp->vtp_trunk_set_serial()
(B<vlanTrunkPortSetSerialNo>) (C<vlanTrunkPortSetSerialNo>)
=back =back
@@ -499,13 +498,13 @@ Your device will only implement a subset of these methods.
=item $vtp->i_vlan() =item $vtp->i_vlan()
Returns a mapping between ifIndex and assigned VLAN ID for access ports and the Returns a mapping between C<ifIndex> and assigned VLAN ID for access ports
default VLAN ID for trunk ports. and the default VLAN ID for trunk ports.
=item $vtp->i_vlan_membership() =item $vtp->i_vlan_membership()
Returns reference to hash of arrays: key = ifIndex, value = array of VLAN IDs. Returns reference to hash of arrays: key = C<ifIndex>, value = array of VLAN
These are the VLANs which are members of enabled VLAN list for the port. IDs. These are the VLANs which are members of enabled VLAN list for the port.
Example: Example:
my $interfaces = $vtp->interfaces(); my $interfaces = $vtp->interfaces();
@@ -519,88 +518,88 @@ These are the VLANs which are members of enabled VLAN list for the port.
=back =back
=head2 VLAN Table (B<CISCO-VTP-MIB::vtpVlanTable>) =head2 VLAN Table (C<CISCO-VTP-MIB::vtpVlanTable>)
See ftp://ftp.cisco.com/pub/mibs/supportlists/wsc5000/wsc5000-communityIndexing.html See L<ftp://ftp.cisco.com/pub/mibs/supportlists/wsc5000/wsc5000-communityIndexing.html>
for a good treaty of how to connect to the VLANs for a good treaty of how to connect to the VLANs
=over =over
=item $vtp->v_index() =item $vtp->v_index()
(B<vtpVlanIndex>) (C<vtpVlanIndex>)
=item $vtp->v_state() =item $vtp->v_state()
(B<vtpVlanState>) (C<vtpVlanState>)
=item $vtp->v_type() =item $vtp->v_type()
(B<vtpVlanType>) (C<vtpVlanType>)
=item $vtp->v_name() =item $vtp->v_name()
(B<vtpVlanName>) (C<vtpVlanName>)
=item $vtp->v_mtu() =item $vtp->v_mtu()
(B<vtpVlanMtu>) (C<vtpVlanMtu>)
=item $vtp->v_said() =item $vtp->v_said()
(B<vtpVlanDot10Said>) (C<vtpVlanDot10Said>)
=item $vtp->v_ring() =item $vtp->v_ring()
(B<vtpVlanRingNumber>) (C<vtpVlanRingNumber>)
=item $vtp->v_bridge() =item $vtp->v_bridge()
(B<vtpVlanBridgeNumber>) (C<vtpVlanBridgeNumber>)
=item $vtp->v_stp() =item $vtp->v_stp()
(B<vtpVlanStpType>) (C<vtpVlanStpType>)
=item $vtp->v_parent() =item $vtp->v_parent()
(B<vtpVlanParentVlan>) (C<vtpVlanParentVlan>)
=item $vtp->v_trans1() =item $vtp->v_trans1()
(B<vtpVlanTranslationalVlan1>) (C<vtpVlanTranslationalVlan1>)
=item $vtp->v_trans2() =item $vtp->v_trans2()
(B<vtpVlanTranslationalVlan2>) (C<vtpVlanTranslationalVlan2>)
=item $vtp->v_btype() =item $vtp->v_btype()
(B<vtpVlanBridgeType>) (C<vtpVlanBridgeType>)
=item $vtp->v_hop_are() =item $vtp->v_hop_are()
(B<vtpVlanAreHopCount>) (C<vtpVlanAreHopCount>)
=item $vtp->v_hop_ste() =item $vtp->v_hop_ste()
(B<vtpVlanSteHopCount>) (C<vtpVlanSteHopCount>)
=item $vtp->v_crf() =item $vtp->v_crf()
(B<vtpVlanIsCRFBackup>) (C<vtpVlanIsCRFBackup>)
=item $vtp->v_type_ext() =item $vtp->v_type_ext()
(B<vtpVlanTypeExt>) (C<vtpVlanTypeExt>)
=item $vtp->v_if() =item $vtp->v_if()
(B<vtpVlanIfIndex>) (C<vtpVlanIfIndex>)
=back =back
=head2 VLAN Membership Table (B<CISCO-VLAN-MEMBERSHIP-MIB::vmMembershipTable>) =head2 VLAN Membership Table (C<CISCO-VLAN-MEMBERSHIP-MIB::vmMembershipTable>)
=over =over
@@ -608,161 +607,162 @@ for a good treaty of how to connect to the VLANs
Static, Dynamic, or multiVlan. Static, Dynamic, or multiVlan.
(B<vmVlanType>) (C<vmVlanType>)
=item $vtp->i_vlan2() =item $vtp->i_vlan2()
The VLAN that an access port is assigned to. The VLAN that an access port is assigned to.
(B<vmVlan>) (C<vmVlan>)
=item $vtp->i_vlan_stat() =item $vtp->i_vlan_stat()
Inactive, active, shutdown. Inactive, active, shutdown.
(B<vmPortStatus>) (C<vmPortStatus>)
=item $vtp->i_vlan_1() =item $vtp->i_vlan_1()
Each bit represents a VLAN. This is 0 through 1023 Each bit represents a VLAN. This is 0 through 1023
(B<vmVlans>) (C<vmVlans>)
=item $vtp->i_vlan_2() =item $vtp->i_vlan_2()
Each bit represents a VLAN. This is 1024 through 2047 Each bit represents a VLAN. This is 1024 through 2047
(B<vmVlans2k>) (C<vmVlans2k>)
=item $vtp->i_vlan_3() =item $vtp->i_vlan_3()
Each bit represents a VLAN. This is 2048 through 3071 Each bit represents a VLAN. This is 2048 through 3071
(B<vmVlans3k>) (C<vmVlans3k>)
=item $vtp->i_vlan_4() =item $vtp->i_vlan_4()
Each bit represents a VLAN. This is 3072 through 4095 Each bit represents a VLAN. This is 3072 through 4095
(B<vmVlans4k>) (C<vmVlans4k>)
=back =back
=head2 VLAN Membership Voice VLAN Table (B<CISCO-VLAN-MEMBERSHIP-MIB::vmVoiceVlanTable>) =head2 VLAN Membership Voice VLAN Table
(C<CISCO-VLAN-MEMBERSHIP-MIB::vmVoiceVlanTable>)
=over =over
=item $vtp->i_voice_vlan() =item $vtp->i_voice_vlan()
(B<vmVoiceVlanId>) (C<vmVoiceVlanId>)
=back =back
=head2 Managment Domain Table (B<CISCO-VTP-MIB::managementDomainTable>) =head2 Management Domain Table (C<CISCO-VTP-MIB::managementDomainTable>)
=over =over
=item $vtp->vtp_d_index() =item $vtp->vtp_d_index()
(B<managementDomainIndex>) (C<managementDomainIndex>)
=item $vtp->vtp_d_name() =item $vtp->vtp_d_name()
(B<managementDomainName>) (C<managementDomainName>)
=item $vtp->vtp_d_mode() =item $vtp->vtp_d_mode()
(B<managementDomainLocalMode>) (C<managementDomainLocalMode>)
=item $vtp->vtp_d_rev() =item $vtp->vtp_d_rev()
(B<managementDomainConfigRevNumber>) (C<managementDomainConfigRevNumber>)
=item $vtp->vtp_d_updater() =item $vtp->vtp_d_updater()
(B<managementDomainLastUpdater>) (C<managementDomainLastUpdater>)
=item $vtp->vtp_d_last() =item $vtp->vtp_d_last()
(B<managementDomainLastChange>) (C<managementDomainLastChange>)
=item $vtp->vtp_d_status() =item $vtp->vtp_d_status()
(B<managementDomainRowStatus>) (C<managementDomainRowStatus>)
=item $vtp->vtp_d_tftp() =item $vtp->vtp_d_tftp()
(B<managementDomainTftpServer>) (C<managementDomainTftpServer>)
=item $vtp->vtp_d_tftp_path() =item $vtp->vtp_d_tftp_path()
(B<managementDomainTftpPathname>) (C<managementDomainTftpPathname>)
=item $vtp->vtp_d_pruning() =item $vtp->vtp_d_pruning()
(B<managementDomainPruningState>) (C<managementDomainPruningState>)
=item $vtp->vtp_d_ver() =item $vtp->vtp_d_ver()
(B<managementDomainVersionInUse>) (C<managementDomainVersionInUse>)
=back =back
=head2 VLAN Trunk Port Table (B<CISCO-VTP-MIB::vlanTrunkPortTable>) =head2 VLAN Trunk Port Table (C<CISCO-VTP-MIB::vlanTrunkPortTable>)
=over =over
=item $vtp->vtp_trunk_mgmt_dom() =item $vtp->vtp_trunk_mgmt_dom()
(B<vlanTrunkPortManagementDomain>) (C<vlanTrunkPortManagementDomain>)
=item $vtp->vtp_trunk_encaps_t() =item $vtp->vtp_trunk_encaps_t()
(B<vlanTrunkPortEncapsulationType>) (C<vlanTrunkPortEncapsulationType>)
=item $vtp->vtp_trunk_vlans() =item $vtp->vtp_trunk_vlans()
(B<vlanTrunkPortVlansEnabled>) (C<vlanTrunkPortVlansEnabled>)
=item $vtp->vtp_trunk_vlans_2k() =item $vtp->vtp_trunk_vlans_2k()
(B<vlanTrunkPortVlansEnabled2k>) (C<vlanTrunkPortVlansEnabled2k>)
=item $vtp->vtp_trunk_vlans_3k() =item $vtp->vtp_trunk_vlans_3k()
(B<vlanTrunkPortVlansEnabled3k>) (C<vlanTrunkPortVlansEnabled3k>)
=item $vtp->vtp_trunk_vlans_4k() =item $vtp->vtp_trunk_vlans_4k()
(B<vlanTrunkPortVlansEnabled4k>) (C<vlanTrunkPortVlansEnabled4k>)
=item $vtp->vtp_trunk_native() =item $vtp->vtp_trunk_native()
(B<vlanTrunkPortNativeVlan>) (C<vlanTrunkPortNativeVlan>)
=item $vtp->i_pvid() =item $vtp->i_pvid()
(B<vlanTrunkPortNativeVlan>) (C<vlanTrunkPortNativeVlan>)
=item $vtp->vtp_trunk_rstat() =item $vtp->vtp_trunk_rstat()
(B<vlanTrunkPortRowStatus>) (C<vlanTrunkPortRowStatus>)
=item $vtp->vtp_trunk_dyn() =item $vtp->vtp_trunk_dyn()
(B<vlanTrunkPortDynamicState>) (C<vlanTrunkPortDynamicState>)
=item $vtp->vtp_trunk_dyn_stat() =item $vtp->vtp_trunk_dyn_stat()
(B<vlanTrunkPortDynamicStatus>) (C<vlanTrunkPortDynamicStatus>)
=item $vtp->vtp_trunk_vtp() =item $vtp->vtp_trunk_vtp()
(B<vlanTrunkPortVtpEnabled>) (C<vlanTrunkPortVtpEnabled>)
=item $vtp->vtp_trunk_encaps() =item $vtp->vtp_trunk_encaps()
(B<vlanTrunkPortEncapsulationOperType>) (C<vlanTrunkPortEncapsulationOperType>)
=back =back
@@ -777,7 +777,7 @@ L<SNMP::Info/"SETTING DATA VIA SNMP"> for general information on set operations.
=item $vtp->set_i_vlan ( vlan, ifIndex ) =item $vtp->set_i_vlan ( vlan, ifIndex )
Changes an access (untagged) port VLAN, must be supplied with the numeric Changes an access (untagged) port VLAN, must be supplied with the numeric
VLAN ID and port ifIndex. This method should only be used on end station VLAN ID and port C<ifIndex>. This method should only be used on end station
(non-trunk) ports. (non-trunk) ports.
Example: Example:
@@ -788,7 +788,7 @@ VLAN ID and port ifIndex. This method should only be used on end station
=item $vtp->set_i_pvid ( pvid, ifIndex ) =item $vtp->set_i_pvid ( pvid, ifIndex )
Sets port default VLAN, must be supplied with the numeric VLAN ID and Sets port default VLAN, must be supplied with the numeric VLAN ID and
port ifIndex. This method should only be used on trunk ports. port C<ifIndex>. This method should only be used on trunk ports.
Example: Example:
my %if_map = reverse %{$vtp->interfaces()}; my %if_map = reverse %{$vtp->interfaces()};
@@ -798,7 +798,7 @@ port ifIndex. This method should only be used on trunk ports.
=item $vtp->set_add_i_vlan_tagged ( vlan, ifIndex ) =item $vtp->set_add_i_vlan_tagged ( vlan, ifIndex )
Adds the VLAN to the enabled VLANs list of the port, must be supplied with the Adds the VLAN to the enabled VLANs list of the port, must be supplied with the
numeric VLAN ID and port ifIndex. numeric VLAN ID and port C<ifIndex>.
Example: Example:
my %if_map = reverse %{$vtp->interfaces()}; my %if_map = reverse %{$vtp->interfaces()};
@@ -808,11 +808,13 @@ numeric VLAN ID and port ifIndex.
=item $vtp->set_remove_i_vlan_tagged ( vlan, ifIndex ) =item $vtp->set_remove_i_vlan_tagged ( vlan, ifIndex )
Removes the VLAN from the enabled VLANs list of the port, must be supplied Removes the VLAN from the enabled VLANs list of the port, must be supplied
with the numeric VLAN ID and port ifIndex. with the numeric VLAN ID and port C<ifIndex>.
Example: Example:
my %if_map = reverse %{$vtp->interfaces()}; my %if_map = reverse %{$vtp->interfaces()};
$vtp->set_remove_i_vlan_tagged('2', $if_map{'FastEthernet0/1'}) $vtp->set_remove_i_vlan_tagged('2', $if_map{'FastEthernet0/1'})
or die "Couldn't add port to egress list. ",$vtp->error(1); or die "Couldn't add port to egress list. ",$vtp->error(1);
=back
=cut =cut

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Entity # SNMP::Info::Entity
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2003 Regents of the University of California # Copyright (c) 2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Entity; package SNMP::Info::Entity;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -118,11 +118,14 @@ sub munge_e_type {
return $name if defined($name); return $name if defined($name);
return $oid; return $oid;
} }
1; 1;
__END__
=head1 NAME =head1 NAME
SNMP::Info::Entity - SNMP Interface to data stored in ENTITY-MIB. RFC 2737 SNMP::Info::Entity - SNMP Interface to data stored in F<ENTITY-MIB>. RFC 2737
=head1 AUTHOR =head1 AUTHOR
@@ -134,7 +137,6 @@ Max Baker
my $entity = new SNMP::Info( my $entity = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -146,7 +148,8 @@ Max Baker
=head1 DESCRIPTION =head1 DESCRIPTION
ENTITY-MIB is used by Layer 2 devices from HP,Aironet,Foundry,Cisco and more. F<ENTITY-MIB> is used by Layer 2 devices from HP, Aironet, Foundry, Cisco,
and more.
See RFC 2737 for full details. See RFC 2737 for full details.
@@ -164,7 +167,7 @@ none.
=over =over
=item ENTITY-MIB =item F<ENTITY-MIB>
=back =back
@@ -253,7 +256,7 @@ More computer friendly name of entity. Parse me.
=item $entity->e_port() =item $entity->e_port()
Maps EntityTable entries to the Interface Table (IfTable) using Maps Entity Table entries to the Interface Table (C<IfTable>) using
$entity->e_map() $entity->e_map()
=item $entity->e_pos() =item $entity->e_pos()

View File

@@ -1,7 +1,7 @@
# SNMP::Info::EtherLike # SNMP::Info::EtherLike
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::EtherLike; package SNMP::Info::EtherLike;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -91,7 +91,7 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::EtherLike - SNMP Interface to SNMP ETHERLIKE-MIB RFC 1398 SNMP::Info::EtherLike - SNMP Interface to SNMP F<ETHERLIKE-MIB> RFC 1398
=head1 AUTHOR =head1 AUTHOR
@@ -126,11 +126,13 @@ Max Baker
=head1 DESCRIPTION =head1 DESCRIPTION
SNMP::Info::EtherLike is a subclass of SNMP::Info that supplies SNMP::Info::EtherLike is a subclass of SNMP::Info that supplies
access to the ETHERLIKE-MIB used by some Layer 3 Devices such as Cisco routers. access to the F<ETHERLIKE-MIB> used by some Layer 3 Devices such as
Cisco routers.
See RFC 1398 for more details. See RFC 1398 for more details.
Use or create a subclass of SNMP::Info that inherits this one. Do not use directly. Use or create a subclass of SNMP::Info that inherits this one. Do not use
directly.
=head2 Inherited Classes =head2 Inherited Classes
@@ -140,7 +142,7 @@ None.
=over =over
=item ETHERLIKE-MIB =item F<ETHERLIKE-MIB>
=back =back
@@ -161,7 +163,7 @@ These are methods that return scalar values from SNMP
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 ETHERLIKE STATS TABLE (dot3StatsTable) =head2 ETHERLIKE STATS TABLE (C<dot3StatsTable>)
=over =over
@@ -169,77 +171,77 @@ to a hash.
Returns reference to hash. Indexes Stats Table to the interface index (iid). Returns reference to hash. Indexes Stats Table to the interface index (iid).
(B<dot3StatsIndex>) (C<dot3StatsIndex>)
=item $el->el_duplex() =item $el->el_duplex()
Returns reference to hash. Indexes Stats Table to Duplex Status of port. Returns reference to hash. Indexes Stats Table to Duplex Status of port.
(B<dot3StatsDuplexStatus>) (C<dot3StatsDuplexStatus>)
=item $el->el_chipset() =item $el->el_chipset()
(B<dot3StatsEtherChipSet>) (C<dot3StatsEtherChipSet>)
=item $el->el_coll_excess() =item $el->el_coll_excess()
(B<dot3StatsExcessiveCollisions>) (C<dot3StatsExcessiveCollisions>)
=item $el->el_coll_late() =item $el->el_coll_late()
(B<dot3StatsLateCollisions>) (C<dot3StatsLateCollisions>)
=item $el->el_coll_mult() =item $el->el_coll_mult()
(B<dot3StatsMultipleCollisionFrames>) (C<dot3StatsMultipleCollisionFrames>)
=item $el->el_coll_single() =item $el->el_coll_single()
(B<dot3StatsSingleCollisionFrames>) (C<dot3StatsSingleCollisionFrames>)
=item $el->el_error_alignment() =item $el->el_error_alignment()
(B<dot3StatsAlignmentErrors>) (C<dot3StatsAlignmentErrors>)
=item $el->el_error_fcs() =item $el->el_error_fcs()
(B<dot3StatsFCSErrors>) (C<dot3StatsFCSErrors>)
=item $el->el_error_cs() =item $el->el_error_cs()
(B<dot3StatsCarrierSenseErrors>) (C<dot3StatsCarrierSenseErrors>)
=item $el->el_error_frame() =item $el->el_error_frame()
(B<dot3StatsFrameTooLongs>) (C<dot3StatsFrameTooLongs>)
=item $el->el_error_mac_rec() =item $el->el_error_mac_rec()
(B<dot3StatsInternalMacReceiveErrors>) (C<dot3StatsInternalMacReceiveErrors>)
=item $el->el_error_mac_xmit() =item $el->el_error_mac_xmit()
(B<dot3StatsInternalMacTransmitErrors>) (C<dot3StatsInternalMacTransmitErrors>)
=item $el->el_error_sqe() =item $el->el_error_sqe()
(B<dot3StatsSQETestErrors>) (C<dot3StatsSQETestErrors>)
=item $el->el_error_symbol() =item $el->el_error_symbol()
(B<dot3StatsSymbolErrors>) (C<dot3StatsSymbolErrors>)
=item $el->el_xmit_defer() =item $el->el_xmit_defer()
(B<dot3StatsDeferredTransmissions>) (C<dot3StatsDeferredTransmissions>)
=item $el->el_coll_count() =item $el->el_coll_count()
(B<dot3CollCount>) (C<dot3CollCount>)
=item $el->el_coll_freq() =item $el->el_coll_freq()
(B<dot3CollFrequencies>) (C<dot3CollFrequencies>)
=back =back

View File

@@ -1,8 +1,7 @@
# SNMP::Info::FDP # SNMP::Info::FDP
# Bruce Rodger
# $Id$ # $Id$
# #
# (c) 2004 Bruce Rodger, Max Baker # Copyright (c) 2008 Bruce Rodger, Max Baker
# All rights reserved. # All rights reserved.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
@@ -13,23 +12,24 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::FDP; package SNMP::Info::FDP;
@@ -42,7 +42,7 @@ use SNMP::Info;
@SNMP::Info::FDP::EXPORT_OK = qw//; @SNMP::Info::FDP::EXPORT_OK = qw//;
use vars qw/$VERSION $DEBUG %FUNCS %GLOBALS %MIBS %MUNGE $INIT/; use vars qw/$VERSION $DEBUG %FUNCS %GLOBALS %MIBS %MUNGE $INIT/;
$VERSION = '1.07'; $VERSION = '1.09';
%MIBS = ( %MIBS = (
'FOUNDRY-SN-SWITCH-GROUP-MIB' => 'snFdpGlobalRun' 'FOUNDRY-SN-SWITCH-GROUP-MIB' => 'snFdpGlobalRun'
@@ -204,17 +204,13 @@ None.
=over =over
=item FOUNDRY-SN-SWITCH-GROUP-MIB =item F<FOUNDRY-SN-SWITCH-GROUP-MIB>
Needs a reasonably recent MIB. Works OK with B2R07604A.mib, but doesn't Needs a reasonably recent MIB. Works OK with B2R07604A.mib, but doesn't
work with B2R07600C. work with B2R07600C.
=back =back
MIBs are normally distributed with each code update. Contact your vendor,
or trawl through google...
=head1 GLOBAL METHODS =head1 GLOBAL METHODS
These are methods that return scalar values from SNMP These are methods that return scalar values from SNMP
@@ -231,27 +227,28 @@ Accounts for SNMP version 1 devices which may have FDP but not fdp_run()
Is FDP enabled on this device? Is FDP enabled on this device?
(B<fdpGlobalRun>) (C<fdpGlobalRun>)
=item $fdp->fdp_interval() =item $fdp->fdp_interval()
Interval in seconds at which FDP messages are generated. Interval in seconds at which FDP messages are generated.
(B<fdpGlobalMessageInterval>) (C<fdpGlobalMessageInterval>)
=item $fdp->fdp_holdtime() =item $fdp->fdp_holdtime()
Time in seconds that FDP messages are kept. Time in seconds that FDP messages are kept.
(B<fdpGlobalHoldTime>) (C<fdpGlobalHoldTime>)
=item $fdp->fdp_id() =item $fdp->fdp_id()
Returns FDP device ID. Returns FDP device ID.
This is the device id broadcast via FDP to other devices, and is what is retrieved from remote devices with $fdp->id(). This is the device id broadcast via FDP to other devices, and is what is
retrieved from remote devices with $fdp->id().
(B<fdpGlobalDeviceId>) (C<fdpGlobalDeviceId>)
=back =back
@@ -278,7 +275,7 @@ From L<http://www.cisco.com/univercd/cc/td/doc/product/lan/trsrb/frames.htm#1884
=item (0x40) - Provides level 1 functionality. =item (0x40) - Provides level 1 functionality.
=item (0x20) - The bridge or switch does not forward IGMP Report packets on nonrouter ports. =item (0x20) - The bridge or switch does not forward IGMP Report packets on non router ports.
=item (0x10) - Sends and receives packets for at least one network layer protocol. If the device is routing the protocol, this bit should not be set. =item (0x10) - Sends and receives packets for at least one network layer protocol. If the device is routing the protocol, this bit should not be set.
@@ -292,37 +289,39 @@ From L<http://www.cisco.com/univercd/cc/td/doc/product/lan/trsrb/frames.htm#1884
=back =back
Thanks to Martin Lorensen C<martin -at- lorensen.dk> for a pointer to this information. Thanks to Martin Lorensen C<martin -at- lorensen.dk> for a pointer to
this information.
(B<fdpCacheCapabilities>) (C<fdpCacheCapabilities>)
=item $fdp->fdp_domain() =item $fdp->fdp_domain()
The CDP version of this returns remote VTP Management Domain as defined in CISCO-VTP-MIB::managementDomainName The CDP version of this returns remote VTP Management Domain as defined
in C<CISCO-VTP-MIB::managementDomainName>
(B<fdpCacheVTPMgmtDomain>) (C<fdpCacheVTPMgmtDomain>)
=item $fdp->fdp_duplex() =item $fdp->fdp_duplex()
Returns the port duplex status from remote devices. Returns the port duplex status from remote devices.
(B<fdpCacheDuplex>) (C<fdpCacheDuplex>)
=item $fdp->fdp_id() =item $fdp->fdp_id()
Returns remote device id string Returns remote device id string
(B<fdpCacheDeviceId>) (C<fdpCacheDeviceId>)
=item $fdp->fdp_if() =item $fdp->fdp_if()
Returns the mapping to the SNMP Interface Table. Returns the mapping to the SNMP Interface Table.
Note that a lot devices don't implement $fdp->fdp_index(), So if it isn't around, Note that a lot devices don't implement $fdp->fdp_index(), So if it isn't
we fake it. around, we fake it.
In order to map the fdp table entry back to the interfaces() entry, we truncate the last number In order to map the fdp table entry back to the interfaces() entry, we
off of it : truncate the last number off of it :
# it exists, yay. # it exists, yay.
my $fdp_index = $device->fdp_index(); my $fdp_index = $device->fdp_index();
@@ -346,47 +345,48 @@ off of it :
Returns the mapping to the SNMP2 Interface table for FDP Cache Entries. Returns the mapping to the SNMP2 Interface table for FDP Cache Entries.
Most devices don't implement this, so you probably want to use $fdp->fdp_if() instead. Most devices don't implement this, so you probably want to use $fdp->fdp_if()
instead.
See fdp_if() entry. See fdp_if() entry.
(B<fdpCacheIfIndex>) (C<fdpCacheIfIndex>)
=item $fdp->fdp_ip() =item $fdp->fdp_ip()
Returns remote IP address Returns remote IP address
(B<fdpCacheAddress>) (C<fdpCacheAddress>)
=item $fdp->fdp_platform() =item $fdp->fdp_platform()
Returns remote platform id Returns remote platform id
(B<fdpCachePlatform>) (C<fdpCachePlatform>)
=item $fdp->fdp_port() =item $fdp->fdp_port()
Returns remote port ID Returns remote port ID
(B<fdpDevicePort>) (C<fdpDevicePort>)
=item $fdp->fdp_proto() =item $fdp->fdp_proto()
Returns remote address type received. Usually IP. Returns remote address type received. Usually IP.
(B<fdpCacheAddressType>) (C<fdpCacheAddressType>)
=item $fdp->fdp_ver() =item $fdp->fdp_ver()
Returns remote hardware version Returns remote hardware version
(B<fdpCacheVersion>) (C<fdpCacheVersion>)
=item $fdp->fdp_vlan() =item $fdp->fdp_vlan()
Returns the remote interface native VLAN. Returns the remote interface native VLAN.
(B<fdpCacheNativeVLAN>) (C<fdpCacheNativeVLAN>)
=back =back

View File

@@ -1,34 +1,34 @@
# SNMP::Info::IEEE802dot11 # SNMP::Info::IEEE802dot11
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2006 Eric Miller # Copyright (c) 2008 Eric Miller
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::IEEE802dot11; package SNMP::Info::IEEE802dot11;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
use Exporter; use Exporter;
@@ -178,7 +178,7 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::IEEE802dot11 - SNMP Interface to data from IEEE802dot11-MIB SNMP::Info::IEEE802dot11 - SNMP Interface to data from F<IEEE802dot11-MIB>
=head1 AUTHOR =head1 AUTHOR
@@ -202,7 +202,7 @@ Eric Miller
=head1 DESCRIPTION =head1 DESCRIPTION
SNMP::Info::IEEE802dot11 is a subclass of SNMP::Info that provides an interface SNMP::Info::IEEE802dot11 is a subclass of SNMP::Info that provides an interface
to C<IEEE802dot11-MIB>. This MIB is used in standards based 802.11 wireless to F<IEEE802dot11-MIB>. This MIB is used in standards based 802.11 wireless
devices. devices.
Use or create a subclass of SNMP::Info that inherits this one. Use or create a subclass of SNMP::Info that inherits this one.
@@ -220,7 +220,7 @@ None.
=over =over
=item IEEE802dot11-MIB =item F<IEEE802dot11-MIB>
=back =back
@@ -232,17 +232,17 @@ These are methods that return scalar value from SNMP
=item $dot11->vendor() =item $dot11->vendor()
Trys to discover the vendor from dot11_man_name() - returns lower case Tries to discover the vendor from dot11_man_name() - returns lower case
of the first word in the first instance found. of the first word in the first instance found.
=item $dot11->model() =item $dot11->model()
Trys to discover the model from dot11_prod_name() - returns lower case Tries to discover the model from dot11_prod_name() - returns lower case
of the first instance found. of the first instance found.
=item $dot11->os_ver() =item $dot11->os_ver()
Trys to discover the operating system version from dot11_prod_ver() - returns Tries to discover the operating system version from dot11_prod_ver() - returns
string of numeric and decimals in the first instance found. string of numeric and decimals in the first instance found.
=back =back
@@ -258,7 +258,7 @@ to a hash.
Returns reference to hash. SSID's recognized by the radio interface. Returns reference to hash. SSID's recognized by the radio interface.
(B<dot11DesiredSSID>) (C<dot11DesiredSSID>)
=item $dot11->i_80211channel() =item $dot11->i_80211channel()
@@ -267,130 +267,130 @@ interface.
=item $dot11->dot11_cur_tx_pwr_mw() =item $dot11->dot11_cur_tx_pwr_mw()
Returns reference to hash. Current transmit power, in milliwats, of the radio Returns reference to hash. Current transmit power, in milliwatts, of the radio
interface. interface.
=back =back
=head2 Dot11 Phy OFDM Table (B<dot11PhyOFDMTable>) =head2 Dot11 Phy OFDM Table (C<dot11PhyOFDMTable>)
=over =over
=item $dot11->dot11_cur_freq() =item $dot11->dot11_cur_freq()
(B<dot11CurrentFrequency>) (C<dot11CurrentFrequency>)
=back =back
=head2 Dot11 Phy DSSS Table (B<dot11PhyDSSSTable>) =head2 Dot11 Phy DSSS Table (C<dot11PhyDSSSTable>)
=over =over
=item $dot11->dot11_cur_ch() =item $dot11->dot11_cur_ch()
(B<dot11CurrentChannel>) (C<dot11CurrentChannel>)
=back =back
=head2 Dot11 Phy Operation Table (B<dot11PhyOperationTable>) =head2 Dot11 Phy Operation Table (C<dot11PhyOperationTable>)
=over =over
=item $dot11->dot11_phy_type() =item $dot11->dot11_phy_type()
(B<dot11PHYType>) (C<dot11PHYType>)
=item $dot11->dot11_reg_dom() =item $dot11->dot11_reg_dom()
(B<dot11CurrentRegDomain>) (C<dot11CurrentRegDomain>)
=back =back
=head2 Dot11 Resource Information Table (B<dot11ResourceInfoTable>) =head2 Dot11 Resource Information Table (C<dot11ResourceInfoTable>)
=over =over
=item $dot11->dot11_prod_ver() =item $dot11->dot11_prod_ver()
(B<dot11manufacturerProductVersion>) (C<dot11manufacturerProductVersion>)
=item $dot11->dot11_prod_name() =item $dot11->dot11_prod_name()
(B<dot11manufacturerProductName>) (C<dot11manufacturerProductName>)
=item $dot11->dot11_man_name() =item $dot11->dot11_man_name()
(B<dot11manufacturerName>) (C<dot11manufacturerName>)
=back =back
=head2 Dot11 Operation Table (B<dot11OperationTable>) =head2 Dot11 Operation Table (C<dot11OperationTable>)
=over =over
=item $dot11->dot11_mac() =item $dot11->dot11_mac()
(B<dot11MACAddress>) (C<dot11MACAddress>)
=back =back
=head2 Dot11 Station Configuration Table (B<dot11StationConfigTable>) =head2 Dot11 Station Configuration Table (C<dot11StationConfigTable>)
=over =over
=item $dot11->dot11_bss_type() =item $dot11->dot11_bss_type()
(B<dot11DesiredBSSType>) (C<dot11DesiredBSSType>)
=item $dot11->dot11_pwr_mode() =item $dot11->dot11_pwr_mode()
(B<dot11PowerManagementMode>) (C<dot11PowerManagementMode>)
=item $dot11->dot11_sta_id() =item $dot11->dot11_sta_id()
(B<dot11StationID>) (C<dot11StationID>)
=back =back
=head2 Dot11 Transmission Power Table (B<dot11PhyTxPowerTable>) =head2 Dot11 Transmission Power Table (C<dot11PhyTxPowerTable>)
=over =over
=item $dot11->dot11_cur_tx_pwr() =item $dot11->dot11_cur_tx_pwr()
(B<dot11CurrentTxPowerLevel>) (C<dot11CurrentTxPowerLevel>)
=item $dot11->dot11_tx_pwr_level_1() =item $dot11->dot11_tx_pwr_level_1()
(B<dot11TxPowerLevel1>) (C<dot11TxPowerLevel1>)
=item $dot11->dot11_tx_pwr_level_2() =item $dot11->dot11_tx_pwr_level_2()
(B<dot11TxPowerLevel2>) (C<dot11TxPowerLevel2>)
=item $dot11->dot11_tx_pwr_level_3() =item $dot11->dot11_tx_pwr_level_3()
(B<dot11TxPowerLevel3>) (C<dot11TxPowerLevel3>)
=item $dot11->dot11_tx_pwr_level_4() =item $dot11->dot11_tx_pwr_level_4()
(B<dot11TxPowerLevel4>) (C<dot11TxPowerLevel4>)
=item $dot11->dot11_tx_pwr_level_5() =item $dot11->dot11_tx_pwr_level_5()
(B<dot11TxPowerLevel5>) (C<dot11TxPowerLevel5>)
=item $dot11->dot11_tx_pwr_level_6() =item $dot11->dot11_tx_pwr_level_6()
(B<dot11TxPowerLevel6>) (C<dot11TxPowerLevel6>)
=item $dot11->dot11_tx_pwr_level_7() =item $dot11->dot11_tx_pwr_level_7()
(B<dot11TxPowerLevel7>) (C<dot11TxPowerLevel7>)
=item $dot11->dot11_tx_pwr_level_8() =item $dot11->dot11_tx_pwr_level_8()
(B<dot11TxPowerLevel8>) (C<dot11TxPowerLevel8>)
=back =back

View File

@@ -1,33 +1,35 @@
# SNMP::Info::LLDP # SNMP::Info::LLDP
# $Id$
# #
# Eric Miller # Copyright (c) 2008 Eric Miller
#
# Copyright (c) 2007 Eric Miller
# All rights reserved. # All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# # * Neither the name of the University of California, Santa Cruz nor the
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # names of its contributors may be used to endorse or promote products
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # derived from this software without specific prior written permission.
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE #
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::LLDP; package SNMP::Info::LLDP;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -304,11 +306,11 @@ None.
=over =over
=item LLDP-MIB =item F<LLDP-MIB>
=item LLDP-EXT-DOT1-MIB =item F<LLDP-EXT-DOT1-MIB>
=item LLDP-EXT-DOT3-MIB =item F<LLDP-EXT-DOT3-MIB>
=back =back
@@ -322,28 +324,28 @@ These are methods that return scalar values from SNMP
Is LLDP is active in this device? Is LLDP is active in this device?
Note: LLDP may be active, but nothing in B<lldpRemoteSystemsData> Tables so Note: LLDP may be active, but nothing in C<lldpRemoteSystemsData> Tables so
the device would not return any useful topology information. the device would not return any useful topology information.
=item $lldp->lldp_sysname() =item $lldp->lldp_sysname()
The string value used to identify the system name of the local system. If the The string value used to identify the system name of the local system. If the
local agent supports IETF RFC 3418, B<lldpLocSysName> object should have the local agent supports IETF RFC 3418, C<lldpLocSysName> object should have the
same value of B<sysName> object. same value of C<sysName> object.
Nulls are removed before the value is returned. Nulls are removed before the value is returned.
(B<lldpLocSysName>) (C<lldpLocSysName>)
=item $lldp->lldp_sysdesc() =item $lldp->lldp_sysdesc()
The string value used to identify the system description of the local system. The string value used to identify the system description of the local system.
If the local agent supports IETF RFC 3418, B<lldpLocSysDesc> object should have If the local agent supports IETF RFC 3418, C<lldpLocSysDesc> object should have
the same value of B<sysDesc> object. the same value of C<sysDesc> object.
Nulls are removed before the value is returned. Nulls are removed before the value is returned.
(B<lldpLocSysDesc>) (C<lldpLocSysDesc>)
=item $lldp->lldp_sys_cap() =item $lldp->lldp_sys_cap()
@@ -375,7 +377,7 @@ capability and nothing else."
=back =back
(B<lldpLocSysCapEnabled>) (C<lldpLocSysCapEnabled>)
=back =back
@@ -391,7 +393,7 @@ to a hash.
Returns the string value used to identify the chassis component associated Returns the string value used to identify the chassis component associated
with the remote system. with the remote system.
(B<lldpRemChassisId>) (C<lldpRemChassisId>)
=item $lldp->lldp_if() =item $lldp->lldp_if()
@@ -413,7 +415,7 @@ Returns remote port ID
=back =back
=head2 LLDP Remote Table (B<lldpRemTable>) =head2 LLDP Remote Table (C<lldpRemTable>)
=over =over
@@ -422,28 +424,28 @@ Returns remote port ID
Returns the type of encoding used to identify the chassis associated with Returns the type of encoding used to identify the chassis associated with
the remote system. the remote system.
(B<lldpRemChassisIdSubtype>) (C<lldpRemChassisIdSubtype>)
=item $lldp->lldp_rem_id() =item $lldp->lldp_rem_id()
Returns the string value used to identify the chassis component associated Returns the string value used to identify the chassis component associated
with the remote system. with the remote system.
(B<lldpRemChassisId>) (C<lldpRemChassisId>)
=item $lldp->lldp_rem_pid_type() =item $lldp->lldp_rem_pid_type()
Returns the type of port identifier encoding used in the associated Returns the type of port identifier encoding used in the associated
B<lldpRemPortId> object. C<lldpRemPortId> object.
(B<lldpRemPortIdSubtype>) (C<lldpRemPortIdSubtype>)
=item $lldp->lldp_rem_pid() =item $lldp->lldp_rem_pid()
Returns the string value used to identify the port component associated with Returns the string value used to identify the port component associated with
the remote system. the remote system.
(B<lldpRemPortId>) (C<lldpRemPortId>)
=item $lldp->lldp_rem_desc() =item $lldp->lldp_rem_desc()
@@ -452,7 +454,7 @@ associated with the remote system.
Nulls are removed before the value is returned. Nulls are removed before the value is returned.
(B<lldpRemPortDesc>) (C<lldpRemPortDesc>)
=item $lldp->lldp_rem_sysname() =item $lldp->lldp_rem_sysname()
@@ -460,7 +462,7 @@ Returns the string value used to identify the system name of the remote system.
Nulls are removed before the value is returned. Nulls are removed before the value is returned.
(B<lldpRemSysName>) (C<lldpRemSysName>)
=item $lldp->lldp_rem_sysdesc() =item $lldp->lldp_rem_sysdesc()
@@ -469,7 +471,7 @@ remote system.
Nulls are removed before the value is returned. Nulls are removed before the value is returned.
(B<lldpRemSysDesc>) (C<lldpRemSysDesc>)
=item $lldp->lldp_rem_sys_cap() =item $lldp->lldp_rem_sys_cap()
@@ -501,7 +503,7 @@ capability and nothing else."
=back =back
(B<lldpRemSysCapEnabled>) (C<lldpRemSysCapEnabled>)
=back =back

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer1 - SNMP Interface to Layer1 Devices # SNMP::Info::Layer1 - SNMP Interface to Layer1 Devices
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer1; package SNMP::Info::Layer1;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -175,7 +175,6 @@ Max Baker
my $l1 = new SNMP::Info( my $l1 = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 1
@@ -223,7 +222,7 @@ after determining a more specific class using the method above.
=over =over
=item SNMP-REPEATER-MIB =item F<SNMP-REPEATER-MIB>
=back =back
@@ -231,7 +230,7 @@ MIBs required for L<SNMP::Info/"Required MIBs">
See L<SNMP::Info/"Required MIBs"> for its MIB requirements. See L<SNMP::Info/"Required MIBs"> for its MIB requirements.
SNMP-REPEATER-MIB needs to be extracted from F<SNMP-REPEATER-MIB> needs to be extracted from
ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz
=head1 GLOBALS =head1 GLOBALS
@@ -244,7 +243,7 @@ These are methods that return scalar value from SNMP
Gets the number of ports under the interface mib Gets the number of ports under the interface mib
(B<ifNumber>) (C<ifNumber>)
=back =back
@@ -254,7 +253,7 @@ Gets the number of ports under the interface mib
=item $l1->vendor() =item $l1->vendor()
Trys to discover the vendor from $l1->model() and $l1->vendor() Tries to discover the vendor from $l1->model() and $l1->vendor()
=item $l1->ports() =item $l1->ports()
@@ -264,7 +263,7 @@ Adds the values from rptr_ports() and ports_managed()
Number of 'groups' in the Repeater MIB Number of 'groups' in the Repeater MIB
(B<rptrGroupCapacity>) (C<rptrGroupCapacity>)
=back =back
@@ -297,31 +296,31 @@ to a hash.
Number of ports in each group. Number of ports in each group.
(B<rptrGroupPortCapacity>) (C<rptrGroupPortCapacity>)
=item $l1->rptr_port() =item $l1->rptr_port()
Port number in Group Port number in Group
(B<rptrPortIndex>) (C<rptrPortIndex>)
=item $l1->rptr_slot() =item $l1->rptr_slot()
Group (slot) Number for given port. Group (slot) Number for given port.
(B<rptrPortGroupIndex>) (C<rptrPortGroupIndex>)
=item $l1->rptr_up_admin() =item $l1->rptr_up_admin()
(B<rptrPortAdminStatus>) (C<rptrPortAdminStatus>)
=item $l1->rptr_up() =item $l1->rptr_up()
(B<rptrPortOperStatus>) (C<rptrPortOperStatus>)
=item $l1->rptr_last_src() =item $l1->rptr_last_src()
(B<rptrAddrTrackNewLastSrcAddress>) (C<rptrAddrTrackNewLastSrcAddress>)
=back =back

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer1::Allied # SNMP::Info::Layer1::Allied
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,28 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer1::Allied; package SNMP::Info::Layer1::Allied;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
use Exporter; use Exporter;
@@ -136,7 +137,6 @@ Max Baker
my $allied = new SNMP::Info( my $allied = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myhub', DestHost => 'myhub',
Community => 'public', Community => 'public',
Version => 1 Version => 1
@@ -164,9 +164,7 @@ inherited methods.
=over =over
=item ATI-MIB =item F<ATI-MIB>
Download for your device from http://www.allied-telesyn.com/allied/support/
=back =back
@@ -198,11 +196,11 @@ Culls Version from description()
Returns IP Address of Managed Hub. Returns IP Address of Managed Hub.
(B<actualIpAddr>) (C<actualIpAddr>)
=item $allied->model() =item $allied->model()
Trys to cull out AT-nnnnX out of the description field. Tries to cull out C<AT-nnnnX> out of the description field.
=back =back
@@ -233,11 +231,11 @@ the values of ati_up() to 'up' and 'down'.
=item $allied->ati_p_name() =item $allied->ati_p_name()
(B<portName>) (C<portName>)
=item $allied->ati_up() =item $allied->ati_up()
(B<linkTestLED>) (C<linkTestLED>)
=back =back

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer1::Asante # SNMP::Info::Layer1::Asante
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,28 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer1::Asante; package SNMP::Info::Layer1::Asante;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
use Exporter; use Exporter;
@@ -179,7 +180,6 @@ Max Baker
my $asante = new SNMP::Info( my $asante = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -206,9 +206,7 @@ Asante device through SNMP.
=over =over
=item ASANTE-HUB1012-MIB =item F<ASANTE-HUB1012-MIB>
Download from http://www.mibdepot.com
=back =back
@@ -236,7 +234,7 @@ Returns 'asante' :)
=item $asante->model() =item $asante->model()
Cross references $asante->id() to the ASANTE-HUB1012-MIB and returns Cross references $asante->id() to the F<ASANTE-HUB1012-MIB> and returns
the results. the results.
=back =back
@@ -268,11 +266,11 @@ the values of asante_up() to 'up' and 'down'.
=item $asante->ati_p_name() =item $asante->ati_p_name()
(B<portName>) (C<portName>)
=item $asante->ati_up() =item $asante->ati_up()
(B<linkTestLED>) (C<linkTestLED>)
=back =back

View File

@@ -1,34 +1,34 @@
# SNMP::Info::Layer1::Bayhub # SNMP::Info::Layer1::Bayhub
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2004 Eric Miller, Max Baker # Copyright (c) 2008 Eric Miller, 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer1::Bayhub; package SNMP::Info::Layer1::Bayhub;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
use Exporter; use Exporter;
@@ -472,7 +472,6 @@ Eric Miller
my $bayhub = new SNMP::Info( my $bayhub = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -486,10 +485,11 @@ Eric Miller
=head1 DESCRIPTION =head1 DESCRIPTION
Provides abstraction to the configuration information obtainable from a Provides abstraction to the configuration information obtainable from a
Bayhub device through SNMP. Also provides device MAC to port mapping through the proprietary MIB. Bay hub device through SNMP. Also provides device MAC to port mapping through
the proprietary 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 $bayhub = new SNMP::Info::Layer1::Bayhub(...); my $bayhub = new SNMP::Info::Layer1::Bayhub(...);
@@ -509,9 +509,9 @@ my $bayhub = new SNMP::Info::Layer1::Bayhub(...);
=over =over
=item S5-ETHERNET-COMMON-MIB =item F<S5-ETHERNET-COMMON-MIB>
=item S5-COMMON-STATS-MIB =item F<S5-COMMON-STATS-MIB>
=back =back
@@ -539,7 +539,7 @@ Returns 'bay_hub'
=item $bayhub->model() =item $bayhub->model()
Cross references $bayhub->id() to the SYNOPTICS-MIB and returns Cross references $bayhub->id() to the F<SYNOPTICS-MIB> and returns
the results. the results.
Removes either Baystack Hub, 5000, or 5005 depending on the model. Removes either Baystack Hub, 5000, or 5005 depending on the model.
@@ -552,7 +552,8 @@ Removes either Baystack Hub, 5000, or 5005 depending on the model.
=item $bayhub->layers() =item $bayhub->layers()
Returns 00000011. Class emulates Layer 2 functionality through proprietary MIBs. Returns 00000011. Class emulates Layer 2 functionality through proprietary
MIBs.
=item $bayhub->index_factor() =item $bayhub->index_factor()
@@ -591,7 +592,7 @@ to a hash.
Returns reference to map of IIDs to Interface index. Returns reference to map of IIDs to Interface index.
Since hubs do not support ifIndex, the interface index is created using the Since hubs do not support C<ifIndex>, the interface index is created using the
formula (board * 256 + port). formula (board * 256 + port).
=item $bayhub->interfaces() =item $bayhub->interfaces()
@@ -612,17 +613,17 @@ Returns interface speed.
=item $bayhub->i_up() =item $bayhub->i_up()
Returns (B<s5EnPortLinkStatus>) for each port. Translates on/off to up/down. Returns (C<s5EnPortLinkStatus>) for each port. Translates on/off to up/down.
=item $bayhub->i_up_admin() =item $bayhub->i_up_admin()
Returns (B<s5EnPortPartStatus>) for each port. Returns (C<s5EnPortPartStatus>) for each port.
=item $bayhub->set_i_up_admin(state, ifIndex) =item $bayhub->set_i_up_admin(state, ifIndex)
Sets port state, must be supplied with state and port ifIndex Sets port state, must be supplied with state and port C<ifIndex>
State choices are 'up'or 'down' State choices are 'up' or 'down'
Example: Example:
my %if_map = reverse %{$bayhub->interfaces()}; my %if_map = reverse %{$bayhub->interfaces()};
@@ -636,20 +637,20 @@ both the keys and values.
=item $bayhub->fw_port() =item $bayhub->fw_port()
Returns reference to map of IIDs of the S5-COMMON-STATS-MIB::s5CmSNodeTable Returns reference to map of IIDs of the C<S5-COMMON-STATS-MIB::s5CmSNodeTable>
to the Interface index. to the Interface index.
=item $bayhub->fw_mac() =item $bayhub->fw_mac()
(B<s5CmSNodeMacAddr>) (C<s5CmSNodeMacAddr>)
=back =back
=head2 Pseudo ENTITY-MIB Information =head2 Pseudo F<ENTITY-MIB> Information
These devices do not support ENTITY-MIB. These methods emulate Physical Table These devices do not support F<ENTITY-MIB>. These methods emulate Physical
methods using S5-CHASSIS-MIB. See L<SNMP::Info::NortelStack/"TABLE METHODS"> Table methods using F<S5-CHASSIS-MIB>. See
for details. L<SNMP::Info::NortelStack/"TABLE METHODS"> for details.
=over =over

View File

@@ -1,34 +1,34 @@
# SNMP::Info::Layer1::Cyclades # SNMP::Info::Layer1::Cyclades
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2006 Eric Miller # Copyright (c) 2008 Eric Miller
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer1::Cyclades; package SNMP::Info::Layer1::Cyclades;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
use Exporter; use Exporter;
@@ -325,11 +325,11 @@ my $cyclades = new SNMP::Info::Layer1::Cyclades(...);
=over =over
=item CYCLADES-ACS-SYS-MIB =item F<CYCLADES-ACS-SYS-MIB>
=item CYCLADES-ACS-CONF-MIB =item F<CYCLADES-ACS-CONF-MIB>
=item CYCLADES-ACS-INFO-MIB =item F<CYCLADES-ACS-INFO-MIB>
=back =back
@@ -345,23 +345,23 @@ These are methods that return scalar value from SNMP
=item $cyclades->os_ver() =item $cyclades->os_ver()
(B<cyACSversion>) (C<cyACSversion>)
=item $cyclades->serial() =item $cyclades->serial()
(B<cyACSDevId>) (C<cyACSDevId>)
=item $cyclades->root_ip() =item $cyclades->root_ip()
(B<cyEthIPaddr>) (C<cyEthIPaddr>)
=item $cyclades->ps1_status() =item $cyclades->ps1_status()
(B<cyACSPw1>) (C<cyACSPw1>)
=item $cyclades->ps2_status() =item $cyclades->ps2_status()
(B<cyACSPw2>) (C<cyACSPw2>)
=back =back
@@ -384,7 +384,7 @@ Returns 'cyclades'
=item $cyclades->model() =item $cyclades->model()
Returns lower case (B<cyACSpname>) Returns lower case (C<cyACSpname>)
=back =back
@@ -407,30 +407,30 @@ Returns reference to map of IIDs to Interface index.
Extended to include serial ports. Serial ports are indexed with the Extended to include serial ports. Serial ports are indexed with the
alternative labeling system for the serial port, the listening socket port alternative labeling system for the serial port, the listening socket port
B<cySPortSocketPort> to avoid conflicts with B<ifIndex>. C<cySPortSocketPort> to avoid conflicts with C<ifIndex>.
=item $cyclades->interfaces() =item $cyclades->interfaces()
Returns reference to map of IIDs to physical ports. Extended to include Returns reference to map of IIDs to physical ports. Extended to include
serial ports, B<cyISPortTty>. serial ports, C<cyISPortTty>.
=item $cyclades->i_speed() =item $cyclades->i_speed()
Returns interface speed. Extended to include serial ports, B<cyISPortSpeed>. Returns interface speed. Extended to include serial ports, C<cyISPortSpeed>.
=item $cyclades->i_up() =item $cyclades->i_up()
Returns link status for each port. Extended to include serial ports, Returns link status for each port. Extended to include serial ports,
B<cyISPortSigCD>. C<cyISPortSigCD>.
=item $cyclades->i_description() =item $cyclades->i_description()
Returns description of each port. Extended to include serial ports, Returns description of each port. Extended to include serial ports,
B<cyISPortName>. C<cyISPortName>.
=item $cyclades->i_name() =item $cyclades->i_name()
Returns name of each port. Extended to include serial ports, B<cyISPortName>. Returns name of each port. Extended to include serial ports, C<cyISPortName>.
=back =back

View File

@@ -1,34 +1,34 @@
# SNMP::Info::Layer1::S3000 # SNMP::Info::Layer1::S3000
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2006 Eric Miller # Copyright (c) 2008 Eric Miller
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer1::S3000; package SNMP::Info::Layer1::S3000;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
use Exporter; use Exporter;
@@ -225,7 +225,7 @@ sub i_speed {
next unless defined $index; next unless defined $index;
next if (defined $partial and $index !~ /^$partial$/); next if (defined $partial and $index !~ /^$partial$/);
# These hubs only support 10Mbs # These hubs only support 10 Mbs
my $speed = '10000000'; my $speed = '10000000';
$i_speed{$index}=$speed; $i_speed{$index}=$speed;
} }
@@ -356,7 +356,6 @@ Eric Miller
my $s3000 = new SNMP::Info( my $s3000 = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -370,10 +369,11 @@ Eric Miller
=head1 DESCRIPTION =head1 DESCRIPTION
Provides abstraction to the configuration information obtainable from a Provides abstraction to the configuration information obtainable from a
Bayhub device through SNMP. Also provides device MAC to port mapping through the proprietary MIB. Bay hub device through SNMP. Also provides device MAC to port mapping through
the proprietary 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 $s3000 = new SNMP::Info::Layer1::S3000(...); my $s3000 = new SNMP::Info::Layer1::S3000(...);
@@ -389,9 +389,9 @@ my $s3000 = new SNMP::Info::Layer1::S3000(...);
=over =over
=item SYNOPTICS-COMMON-MIB =item F<SYNOPTICS-COMMON-MIB>
=item SYNOPTICS-ETHERNET-MIB =item F<SYNOPTICS-ETHERNET-MIB>
=back =back
@@ -415,20 +415,21 @@ Returns 'synoptics'
=item $s3000->model() =item $s3000->model()
Cross references $s3000->id() to the SYNOPTICS-MIB and returns Cross references $s3000->id() to the F<SYNOPTICS-MIB> and returns
the results. the results.
Removes sreg- from the model name and returns only the numeric model identifier. Removes C<sreg-> from the model name and returns only the numeric model
identifier.
=item $stack->os_ver() =item $stack->os_ver()
Returns the software version specified as major.minor.maint. Returns the software version specified as major.minor.maint.
(B<s3AgentSwMajorVer>).(B<s3AgentSwMinorVer>).(B<s3AgentSwMaintVer>) (C<s3AgentSwMajorVer>).(C<s3AgentSwMinorVer>).(C<s3AgentSwMaintVer>)
=item $stack->os_bin() =item $stack->os_bin()
Returns the firmware version. (B<s3AgentFwVer>) Returns the firmware version. (C<s3AgentFwVer>)
=item $s3000->mac() =item $s3000->mac()
@@ -442,7 +443,8 @@ Returns MAC of the advertised IP address of the device.
=item $s3000->layers() =item $s3000->layers()
Returns 00000011. Class emulates Layer 2 functionality through proprietary MIBs. Returns 00000011. Class emulates Layer 2 functionality through proprietary
MIBs.
=back =back
@@ -463,8 +465,9 @@ to a hash.
Returns reference to map of IIDs to Interface index. Returns reference to map of IIDs to Interface index.
Since hubs do not support ifIndex, the interface index is created using the Since hubs do not support C<ifIndex>, the interface index is created using the
formula (board * 256 + port). This is required to support devices with more than one module. formula (board * 256 + port). This is required to support devices with more
than one module.
=item $s3000->interfaces() =item $s3000->interfaces()
@@ -480,21 +483,21 @@ Returns half, hubs do not support full duplex.
=item $s3000->i_speed() =item $s3000->i_speed()
Returns 10000000. The hubs only support 10Mbs Ethernet. Returns 10000000. The hubs only support 10 Mbs Ethernet.
=item $s3000->i_up() =item $s3000->i_up()
Returns (B<s3EnetPortLinkStatus>) for each port. Translates on/off to up/down. Returns (C<s3EnetPortLinkStatus>) for each port. Translates on/off to up/down.
=item $s3000->i_up_admin() =item $s3000->i_up_admin()
Returns (B<s3EnetPortPartStatus>) for each port. Returns (C<s3EnetPortPartStatus>) for each port.
=item $s3000->set_i_up_admin(state, ifIndex) =item $s3000->set_i_up_admin(state, ifIndex)
Sets port state, must be supplied with state and port ifIndex Sets port state, must be supplied with state and port C<ifIndex>
State choices are 'up'or 'down' State choices are 'up' or 'down'
Example: Example:
my %if_map = reverse %{$s3000->interfaces()}; my %if_map = reverse %{$s3000->interfaces()};
@@ -508,22 +511,22 @@ both the keys and values.
=item $s3000->fw_port() =item $s3000->fw_port()
Returns reference to map of IIDs of the SYNOPTICS-ETHERNET-MIB::s3EnetShowNodesTable Returns reference to map of IIDs of the
to the Interface index. C<SYNOPTICS-ETHERNET-MIB::s3EnetShowNodesTable> to the Interface index.
=item $s3000->fw_mac() =item $s3000->fw_mac()
(B<s3EnetShowNodesMacAddress>) (C<s3EnetShowNodesMacAddress>)
=item $s3000->s3000_topo_port() =item $s3000->s3000_topo_port()
Returns reference to hash. Key: Table entry, Value:Port Number (interface iid) Returns reference to hash. Key: Table entry, Value:Port Number (interface iid)
(B<s3EnetTopNmmPort>) (C<s3EnetTopNmmPort>)
=item $s3000->s3000_topo_mac() =item $s3000->s3000_topo_mac()
(B<s3EnetTopNmmMacAddr>) (C<s3EnetTopNmmMacAddr>)
Returns reference to hash. Key: Table entry, Value:Remote MAC address Returns reference to hash. Key: Table entry, Value:Remote MAC address

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer2 - SNMP Interface to Layer2 Devices # SNMP::Info::Layer2 - SNMP Interface to Layer2 Devices
# Max Baker # $Id$
# #
# Copyright (c) 2004,2005 Max Baker -- All changes from Version 0.7 on # Copyright (c) 2008 Max Baker -- All changes from Version 0.7 on
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2; package SNMP::Info::Layer2;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -179,7 +179,6 @@ Max Baker
my $l2 = new SNMP::Info( my $l2 = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -251,13 +250,13 @@ These are methods that return scalar value from SNMP
Cross references $l2->id() with product IDs in the Cross references $l2->id() with product IDs in the
Cisco MIBs. Cisco MIBs.
For HP devices, removes 'hpswitch' from the name For HP devices, removes C<'hpswitch'> from the name
For Cisco devices, removes 'sysid' from the name For Cisco devices, removes c<'sysid'> from the name
=item $l2->vendor() =item $l2->vendor()
Trys to discover the vendor from $l2->model() and $l2->description() Tries to discover the vendor from $l2->model() and $l2->description()
=back =back
@@ -286,13 +285,13 @@ to a hash.
Creates a map between the interface identifier (iid) and the physical port name. Creates a map between the interface identifier (iid) and the physical port name.
Defaults to B<ifDescr> but checks and overrides with B<ifName> Defaults to C<ifDescr> but checks and overrides with C<ifName>
=item $l2->i_ignore() =item $l2->i_ignore()
Returns reference to hash. Increments value of IID if port is to be ignored. Returns reference to hash. Increments value of IID if port is to be ignored.
Ignores ports with B<ifType> of loopback,propvirtual,other, and cpu Ignores ports with C<ifType> of loopback, propvirtual, other, and cpu
=back =back

View File

@@ -1,34 +1,34 @@
# SNMP::Info::Layer2::Airespace # SNMP::Info::Layer2::Airespace
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2007 Eric Miller # Copyright (c) 2008 Eric Miller
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Airespace; package SNMP::Info::Layer2::Airespace;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
use Exporter; use Exporter;
@@ -104,7 +104,6 @@ Eric Miller
my $airespace = new SNMP::Info( my $airespace = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -120,8 +119,8 @@ Eric Miller
Provides abstraction to the configuration information obtainable from Provides abstraction to the configuration information obtainable from
Cisco (Airespace) Wireless Controllers through SNMP. Cisco (Airespace) Wireless Controllers through SNMP.
For speed or debugging purposes you can call the subclass directly, but not after For speed or debugging purposes you can call the subclass directly, but not
determining a more specific class using the method above. after determining a more specific class using the method above.
my $airespace = new SNMP::Info::Layer2::Airespace(...); my $airespace = new SNMP::Info::Layer2::Airespace(...);
@@ -167,7 +166,7 @@ Returns 'cisco'
=item $airespace->model() =item $airespace->model()
(B<agentInventoryMachineModel>) (C<agentInventoryMachineModel>)
=back =back

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer2::Aironet # SNMP::Info::Layer2::Aironet
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2003 Regents of the University of California # Copyright (c) 2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,28 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Aironet; package SNMP::Info::Layer2::Aironet;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
use Exporter; use Exporter;
@@ -359,7 +360,8 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::Layer2::Aironet - SNMP Interface to Cisco Aironet devices running IOS. SNMP::Info::Layer2::Aironet - SNMP Interface to Cisco Aironet devices running
IOS.
=head1 AUTHOR =head1 AUTHOR
@@ -371,7 +373,6 @@ Max Baker
my $aironet = new SNMP::Info( my $aironet = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -383,7 +384,8 @@ Max Baker
=head1 DESCRIPTION =head1 DESCRIPTION
Provides interface to SNMP Data available on newer Aironet devices running Cisco IOS. Provides interface to SNMP Data available on newer Aironet devices running
Cisco IOS.
Note there are two classes for Aironet devices : Note there are two classes for Aironet devices :
@@ -399,8 +401,8 @@ This class is for devices running Cisco IOS software (newer)
=back =back
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 $aironet = new SNMP::Info::Layer2::Aironet(...); my $aironet = new SNMP::Info::Layer2::Aironet(...);
@@ -468,7 +470,8 @@ Uses the i_description() field.
=item $aironet->i_duplex() =item $aironet->i_duplex()
Crosses information from SNMP::Info::EtherLike to get duplex info for interfaces. Crosses information from SNMP::Info::EtherLike to get duplex info for
interfaces.
=back =back

View File

@@ -1,5 +1,5 @@
# SNMP::Info::Layer2::Allied # SNMP::Info::Layer2::Allied
# Max Baker, Dmitry Sergienko <dmitry@trifle.net> # $Id$
# #
# Copyright (c) 2004 Max Baker # Copyright (c) 2004 Max Baker
# All rights reserved. # All rights reserved.
@@ -9,27 +9,28 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of Netdisco nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Allied; package SNMP::Info::Layer2::Allied;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
use Exporter; use Exporter;
@@ -146,7 +147,6 @@ Max Baker, Dmitry Sergienko <dmitry@trifle.net>
my $allied = new SNMP::Info( my $allied = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myhub', DestHost => 'myhub',
Community => 'public', Community => 'public',
Version => 1 Version => 1
@@ -174,9 +174,9 @@ inherited methods.
=over =over
=item AtiSwitch-MIB =item F<AtiSwitch-MIB>
=item AtiStackInfo-MIB =item F<AtiStackInfo-MIB>
Download for your device from ftp://ftp.allied-telesyn.com/pub/switches/mibs/ Download for your device from ftp://ftp.allied-telesyn.com/pub/switches/mibs/
@@ -210,11 +210,11 @@ Culls Version from description()
Returns IP Address of Managed Device. Returns IP Address of Managed Device.
(B<actualIpAddr>) (C<actualIpAddr>)
=item $allied->model() =item $allied->model()
Trys to cull out AT-nnnnX out of the description field. Tries to cull out C<AT-nnnnX> out of the description field.
=back =back

View File

@@ -1,34 +1,34 @@
# SNMP::Info::Layer2::Aruba # SNMP::Info::Layer2::Aruba
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2005 Eric Miller # Copyright (c) 2008 Eric Miller
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Aruba; package SNMP::Info::Layer2::Aruba;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
use Exporter; use Exporter;
@@ -373,8 +373,8 @@ This class emulates bridge functionality for the wireless switch. This enables
end station MAC addresses collection and correlation to the thin access point end station MAC addresses collection and correlation to the thin access point
the end station is using for communication. the end station is using for communication.
For speed or debugging purposes you can call the subclass directly, but not after For speed or debugging purposes you can call the subclass directly, but not
determining a more specific class using the method above. after determining a more specific class using the method above.
my $aruba = new SNMP::Info::Layer2::Aruba(...); my $aruba = new SNMP::Info::Layer2::Aruba(...);
@@ -390,9 +390,9 @@ determining a more specific class using the method above.
=over =over
=item WLSX-SWITCH-MIB =item F<WLSX-SWITCH-MIB>
=item WLSR-AP-MIB =item F<WLSR-AP-MIB>
=back =back
@@ -421,7 +421,7 @@ Returns 'airos'
=item $aruba->os_ver() =item $aruba->os_ver()
Returns the software version extracted from B<sysDescr> Returns the software version extracted from C<sysDescr>
=back =back
@@ -453,7 +453,7 @@ to a hash.
Returns reference to map of IIDs to Interface index. Returns reference to map of IIDs to Interface index.
Extends ifIndex to support thin APs as device interfaces. Extends C<ifIndex> to support thin APs as device interfaces.
=item $aruba->interfaces() =item $aruba->interfaces()
@@ -462,7 +462,7 @@ interfaces. The thin AP MAC address is used as the port identifier.
=item $aruba->i_name() =item $aruba->i_name()
Interface name. Returns (B<ifName>) for Ethernet interfaces and (B<apLocation>) Interface name. Returns (C<ifName>) for Ethernet interfaces and (C<apLocation>)
for thin AP interfaces. for thin AP interfaces.
=item $aruba->bp_index() =item $aruba->bp_index()
@@ -472,72 +472,73 @@ both the keys and values.
=item $aruba->fw_port() =item $aruba->fw_port()
(B<staAccessPointBSSID>) as extracted from the IID. (C<staAccessPointBSSID>) as extracted from the IID.
=item $aruba->fw_mac() =item $aruba->fw_mac()
(B<staPhyAddress>) as extracted from the IID. (C<staPhyAddress>) as extracted from the IID.
=item $aruba->i_ssidlist() =item $aruba->i_ssidlist()
Returns reference to hash. SSID's recognized by the radio interface. Returns reference to hash. SSID's recognized by the radio interface.
(B<apESSID>) (C<apESSID>)
=item $aruba->i_ssidbcast() =item $aruba->i_ssidbcast()
Returns reference to hash. Indicates whether the SSID is broadcast, true or false. Returns reference to hash. Indicates whether the SSID is broadcast, true or
false.
(B<wlsrHideSSID>) (C<wlsrHideSSID>)
=item $aruba->i_80211channel() =item $aruba->i_80211channel()
Returns reference to hash. Current operating frequency channel of the radio Returns reference to hash. Current operating frequency channel of the radio
interface. interface.
(B<apCurrentChannel>) (C<apCurrentChannel>)
=back =back
=head2 Aruba Switch AP Table (B<wlsxSwitchAccessPointTable>) =head2 Aruba Switch AP Table (C<wlsxSwitchAccessPointTable>)
=over =over
=item $aruba->aruba_ap_name() =item $aruba->aruba_ap_name()
(B<apLocation>) (C<apLocation>)
=item $aruba->aruba_ap_ip() =item $aruba->aruba_ap_ip()
(B<apIpAddress>) (C<apIpAddress>)
=item $aruba->aruba_ap_essid() =item $aruba->aruba_ap_essid()
(B<apESSID>) (C<apESSID>)
=item $aruba->aruba_ap_ssidbcast() =item $aruba->aruba_ap_ssidbcast()
(B<wlsrHideSSID>) (C<wlsrHideSSID>)
=back =back
=head2 Aruba Switch Station Management Table (B<wlsxSwitchStationMgmtTable>) =head2 Aruba Switch Station Management Table (C<wlsxSwitchStationMgmtTable>)
=over =over
=item $aruba->fw_user() =item $aruba->fw_user()
(B<staUserName>) (C<staUserName>)
=back =back
=head2 Aruba Wireless AP Configuration Table (B<wlsrConfigTable>) =head2 Aruba Wireless AP Configuration Table (C<wlsrConfigTable>)
=over =over
=item $aruba->aruba_ap_channel() =item $aruba->aruba_ap_channel()
(B<apCurrentChannel>) (C<apCurrentChannel>)
=back =back

View File

@@ -1,8 +1,8 @@
# SNMP::Info::Layer2::Bay # SNMP::Info::Layer2::Bay
# Max Baker # $Id$
# This module depricated. See Layer2::BayStack # This module depricated. See Layer2::BayStack
# #
# Copyright (c) 2004 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -12,27 +12,28 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Bay; package SNMP::Info::Layer2::Bay;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
use Exporter; use Exporter;
@@ -277,15 +278,15 @@ Max Baker
=head1 SYNOPSIS =head1 SYNOPSIS
This module is Depricated. Please use Layer2::BayStack instead. This module is Deprecated. Please use Layer2::BayStack instead.
=head1 DESCRIPTION =head1 DESCRIPTION
Provides abstraction to the configuration information obtainable from a Provides abstraction to the configuration information obtainable from a
Bay device through SNMP. Bay device through SNMP.
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 $bay = new SNMP::Info::Layer2::Bay(...); my $bay = new SNMP::Info::Layer2::Bay(...);
@@ -301,9 +302,9 @@ a more specific class using the method above.
=over =over
=item SYNOPTICS-ROOT-MIB =item F<SYNOPTICS-ROOT-MIB>
=item S5-ETH-MULTISEG-TOPOLOGY-MIB =item F<S5-ETH-MULTISEG-TOPOLOGY-MIB>
=item Inherited classes =item Inherited classes
@@ -311,15 +312,6 @@ MIBs required by L<SNMP::Info::Layer2/"Required MIBs"> and its superclasses.
=back =back
Bay MIBs can be found on the CD that came with your product.
Or, if you still have a service contract they can be downloaded at
www.nortelnetworks.com
They have also been seen at : http://www.inotech.com/mibs/vendor/baynetworks/synoptics/synoptics.asp
Or http://www.oidview.com/mibs/detail.html under Synoptics. Check also www.mibdepot.com
=head1 GLOBALS =head1 GLOBALS
These are methods that return scalar value from SNMP These are methods that return scalar value from SNMP
@@ -332,23 +324,23 @@ Returns 'bay' :)
=item $bay->model() =item $bay->model()
Cross references $bay->id() to the SYNOPTICS-MIB and returns Cross references $bay->id() to the F<SYNOPTICS-MIB> and returns
the results. 303s and 304s have the same ID, so we have a hack the results. 303s and 304s have the same ID, so we have a hack
to return depending on which it is. to return depending on which it is.
Removes sreg- from the model name Removes C<sreg-> from the model name
=item $bay->cdp_id() =item $bay->cdp_id()
Returns the IP that the device is sending out for its Nmm topology info. Returns the IP that the device is sending out for its Nmm topology info.
(B<s5EnMsTopIpAddr>) (C<s5EnMsTopIpAddr>)
=item $bay->cdp_run() =item $bay->cdp_run()
Returns if the S5-ETH-MULTISEG-TOPOLOGY info is on for this device. Returns if the F<S5-ETH-MULTISEG-TOPOLOGY> info is on for this device.
(B<s5EnMsTopStatus>) (C<s5EnMsTopStatus>)
=back =back
@@ -369,17 +361,17 @@ to a hash.
Returns reference to map of IIDs to physical ports. Returns reference to map of IIDs to physical ports.
Currently simply returns the B<ifIndex> Currently simply returns the C<ifIndex>
=item $bay->i_ignore() =item $bay->i_ignore()
Returns reference to hash of IIDs to ignore. Returns reference to hash of IIDs to ignore.
Simply calls the SNMP::Info::Layer2::i_ignore() fn for this. Simply calls the SNMP::Info::Layer2::i_ignore() for this.
=item $bay->i_mac() =item $bay->i_mac()
Returns the B<ifPhysAddress> table entries. Returns the C<ifPhysAddress> table entries.
Removes all entries matching '00:00:00:00:00:00' -- Certain Removes all entries matching '00:00:00:00:00:00' -- Certain
older revisions of Bay 303 and 304 firmware report all zeros older revisions of Bay 303 and 304 firmware report all zeros
@@ -387,7 +379,7 @@ for each port mac.
=back =back
=head2 Psuedo CDP information =head2 Pseudo CDP information
All entries with port=0 are local and ignored. All entries with port=0 are local and ignored.
@@ -395,18 +387,20 @@ All entries with port=0 are local and ignored.
=item $bay->c_if() =item $bay->c_if()
Returns referenece to hash. Key: port.1 Value: port (iid) Returns reference to hash. Key: port.1 Value: port (iid)
=item $bay->c_ip() =item $bay->c_ip()
Returns referenece to hash. Key: port.1 Returns reference to hash. Key: port.1
The value of each hash entry can either be a scalar or an array. The value of each hash entry can either be a scalar or an array.
A scalar value is most likely a direct neighbor to that port. A scalar value is most likely a direct neighbor to that port.
It is possible that there is a non-bay device in between this device and the remote device. It is possible that there is a non-bay device in between this device and the
remote device.
An array value represents a list of seen devices. The only time you will get an array An array value represents a list of seen devices. The only time you will get
of nieghbors, is if there is a non-bay device in between two or more devices. an array of neighbors, is if there is a non-bay device in between two or more
devices.
Use the data from the Layer2 Topology Table below to dig deeper. Use the data from the Layer2 Topology Table below to dig deeper.
@@ -420,7 +414,7 @@ Returns reference to hash. Key: port.1 Value: Remote Device Type
=back =back
=head2 Layer2 Topology info (s5EnMsTopNmmTable) =head2 Layer2 Topology info (C<s5EnMsTopNmmTable>)
=over =over
@@ -428,28 +422,28 @@ Returns reference to hash. Key: port.1 Value: Remote Device Type
Returns reference to hash. Key: Table entry, Value:slot number Returns reference to hash. Key: Table entry, Value:slot number
(B<s5EnMsTopNmmSlot>) (C<s5EnMsTopNmmSlot>)
=item $bay->bay_topo_port() =item $bay->bay_topo_port()
Returns reference to hash. Key: Table entry, Value:Port Number (interface iid) Returns reference to hash. Key: Table entry, Value:Port Number (interface iid)
(B<s5EnMsTopNmmPort>) (C<s5EnMsTopNmmPort>)
=item $bay->bay_topo_ip() =item $bay->bay_topo_ip()
Returns reference to hash. Key: Table entry, Value:Remote IP address of entry Returns reference to hash. Key: Table entry, Value:Remote IP address of entry
(B<s5EnMsTopNmmIpAddr>) (C<s5EnMsTopNmmIpAddr>)
=item $bay->bay_topo_seg() =item $bay->bay_topo_seg()
Returns reference to hash. Key: Table entry, Value:Remote Segment ID Returns reference to hash. Key: Table entry, Value:Remote Segment ID
(B<s5EnMsTopNmmSegId>) (C<s5EnMsTopNmmSegId>)
=item $bay->bay_topo_mac =item $bay->bay_topo_mac
(B<s5EnMsTopNmmMacAddr>) (C<s5EnMsTopNmmMacAddr>)
Returns reference to hash. Key: Table entry, Value:Remote MAC address Returns reference to hash. Key: Table entry, Value:Remote MAC address
@@ -457,13 +451,14 @@ Returns reference to hash. Key: Table entry, Value:Remote MAC address
Returns reference to hash. Key: Table entry, Value:Remote Device Type Returns reference to hash. Key: Table entry, Value:Remote Device Type
(B<s5EnMsTopNmmChassisType>) (C<s5EnMsTopNmmChassisType>)
=item $bay->bay_topo_localseg =item $bay->bay_topo_localseg
Returns reference to hash. Key: Table entry, Value:Boolean, if bay_topo_seg() is local Returns reference to hash. Key: Table entry, Value:Boolean, if bay_topo_seg()
is local
(B<s5EnMsTopNmmLocalSeg>) (C<s5EnMsTopNmmLocalSeg>)
=back =back

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer2::Baystack # SNMP::Info::Layer2::Baystack
# Eric Miller # $Id$
# #
# Copyright (c) 2004-6 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# All rights reserved. # All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@@ -9,28 +9,28 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Baystack; package SNMP::Info::Layer2::Baystack;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
use Exporter; use Exporter;
@@ -436,7 +436,8 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::Layer2::Baystack - SNMP Interface to Nortel Ethernet (Baystack) Switches SNMP::Info::Layer2::Baystack - SNMP Interface to Nortel Ethernet (Baystack)
Switches
=head1 AUTHOR =head1 AUTHOR
@@ -448,7 +449,6 @@ Eric Miller
my $baystack = new SNMP::Info( my $baystack = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -463,8 +463,8 @@ Eric Miller
Provides abstraction to the configuration information obtainable from a Nortel Provides abstraction to the configuration information obtainable from a Nortel
Ethernet Switch (Baystack) through SNMP. Ethernet Switch (Baystack) through SNMP.
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 $baystack = new SNMP::Info::Layer2::Baystack(...); my $baystack = new SNMP::Info::Layer2::Baystack(...);
@@ -514,14 +514,13 @@ Returns 'nortel'
=item $baystack->model() =item $baystack->model()
Cross references $baystack->id() to the SYNOPTICS-MIB and returns Cross references $baystack->id() to the F<SYNOPTICS-MIB> and returns
the results. 303s and 304s have the same ID, so we have a hack the results. 303s and 304s have the same ID, so we have a hack
to return depending on which it is. to return depending on which it is.
Returns BPS for Business Policy Switch Returns BPS for Business Policy Switch
For BayStack, EthernetRoutingSwitch, or EthernetSwitch extracts and returns For others extracts and returns the switch numeric designation.
the switch numeric designation.
=item $baystack->os() =item $baystack->os()
@@ -529,7 +528,7 @@ Returns 'baystack' or 'boss' depending on software version.
=item $baystack->os_bin() =item $baystack->os_bin()
Returns the firmware version extracted from B<sysDescr>. Returns the firmware version extracted from C<sysDescr>.
=back =back
@@ -596,77 +595,77 @@ Returns reference to hash of IIDs to ignore.
=item $baystack->i_mac() =item $baystack->i_mac()
Returns the B<ifPhysAddress> table entries. Returns the C<ifPhysAddress> table entries.
Removes all entries matching '00:00:00:00:00:00' -- Certain Removes all entries matching '00:00:00:00:00:00' -- Certain
revisions of Baystack firmware report all zeros for each port mac. revisions of Baystack firmware report all zeros for each port mac.
=item $baystack->i_name() =item $baystack->i_name()
Crosses ifName with ifAlias and returns the human set port name if exists. Crosses C<ifName> with C<ifAlias> and returns the human set port name if exists.
=back =back
=head2 ENTITY-MIB Information =head2 F<ENTITY-MIB> Information
For older devices which do not support ENTITY-MIB, these methods emulate For older devices which do not support F<ENTITY-MIB>, these methods emulate
Physical Table methods using S5-CHASSIS-MIB. See Physical Table methods using F<S5-CHASSIS-MIB>. See
L<SNMP::Info::NortelStack/"TABLE METHODS"> for details on ns_e_* methods. L<SNMP::Info::NortelStack/"TABLE METHODS"> for details on ns_e_* methods.
=over =over
=item $baystack->e_index() =item $baystack->e_index()
If the device doesn't support B<entPhysicalDescr>, this will try ns_e_index(). If the device doesn't support C<entPhysicalDescr>, this will try ns_e_index().
Note that this is based on B<entPhysicalDescr> due to implementation Note that this is based on C<entPhysicalDescr> due to implementation
details of SNMP::Info::Entity::e_index(). details of SNMP::Info::Entity::e_index().
=item $baystack->e_class() =item $baystack->e_class()
If the device doesn't support B<entPhysicalClass>, this will try ns_e_class(). If the device doesn't support C<entPhysicalClass>, this will try ns_e_class().
=item $baystack->e_descr() =item $baystack->e_descr()
If the device doesn't support B<entPhysicalDescr>, this will try ns_e_descr(). If the device doesn't support C<entPhysicalDescr>, this will try ns_e_descr().
=item $baystack->e_fwver() =item $baystack->e_fwver()
If the device doesn't support B<entPhysicalFirmwareRev>, this will try If the device doesn't support C<entPhysicalFirmwareRev>, this will try
ns_e_fwver(). ns_e_fwver().
=item $baystack->e_hwver() =item $baystack->e_hwver()
If the device doesn't support B<entPhysicalHardwareRev>, this will try If the device doesn't support C<entPhysicalHardwareRev>, this will try
ns_e_hwver(). ns_e_hwver().
=item $baystack->e_parent() =item $baystack->e_parent()
If the device doesn't support B<entPhysicalContainedIn>, this will try If the device doesn't support C<entPhysicalContainedIn>, this will try
ns_e_parent(). ns_e_parent().
=item $baystack->e_pos() =item $baystack->e_pos()
If the device doesn't support B<entPhysicalParentRelPos>, this will try If the device doesn't support C<entPhysicalParentRelPos>, this will try
ns_e_pos(). ns_e_pos().
=item $baystack->e_serial() =item $baystack->e_serial()
If the device doesn't support B<entPhysicalSerialNum>, this will try If the device doesn't support C<entPhysicalSerialNum>, this will try
ns_e_serial(). ns_e_serial().
=item $baystack->e_swver() =item $baystack->e_swver()
If the device doesn't support B<entPhysicalSoftwareRev>, this will try If the device doesn't support C<entPhysicalSoftwareRev>, this will try
ns_e_swver(). ns_e_swver().
=item $baystack->e_type() =item $baystack->e_type()
If the device doesn't support B<entPhysicalVendorType>, this will try If the device doesn't support C<entPhysicalVendorType>, this will try
ns_e_type(). ns_e_type().
=item $baystack->e_vendor() =item $baystack->e_vendor()
If the device doesn't support B<entPhysicalMfgName>, this will try If the device doesn't support C<entPhysicalMfgName>, this will try
ns_e_vendor(). ns_e_vendor().
=back =back
@@ -678,7 +677,8 @@ Management Protocol (SONMP) and Link Layer Discovery Protocol (LLDP). These
methods will query both and return the combination of all information. As a methods will query both and return the combination of all information. As a
result, there may be identical topology information returned from the two result, there may be identical topology information returned from the two
protocols causing duplicate entries. It is the calling program's protocols causing duplicate entries. It is the calling program's
responsibility to identify any duplicate entries and de-duplicate if necessary. responsibility to identify any duplicate entries and remove duplicates if
necessary.
=over =over

View File

@@ -1,38 +1,38 @@
# SNMP::Info::Layer2::C1900 # SNMP::Info::Layer2::C1900
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::C1900; package SNMP::Info::Layer2::C1900;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
use Exporter; use Exporter;
@@ -255,7 +255,7 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::Layer2::C1900 - SNMP Interface to data from Cisco Catlyst 1900 SNMP::Info::Layer2::C1900 - SNMP Interface to data from Cisco Catalyst 1900
Network Switches running CatOS Network Switches running CatOS
=head1 AUTHOR =head1 AUTHOR
@@ -268,7 +268,6 @@ Max Baker
my $c1900 = new SNMP::Info( my $c1900 = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 1
@@ -308,9 +307,9 @@ after determining a more specific class using the method above.
=over =over
=item STAND-ALONE-ETHERNET-SWITCH-MIB (ESSWITCH-MIB) =item F<STAND-ALONE-ETHERNET-SWITCH-MIB (ESSWITCH-MIB)>
ESSWITCH-MIB is included in the Version 1 MIBS from Cisco. F<ESSWITCH-MIB> is included in the Version 1 MIBs from Cisco.
They can be found at ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz They can be found at ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz
@@ -337,7 +336,7 @@ These are methods that return scalar value from SNMP
Usually contains the version of the software loaded in flash. Usually contains the version of the software loaded in flash.
Used by os_ver() Used by os_ver()
B<STAND-ALONE-ETHERNET-SWITCH-MIB::upgradeFlashBankStatus> C<STAND-ALONE-ETHERNET-SWITCH-MIB::upgradeFlashBankStatus>
=item $c1900->os() =item $c1900->os()
@@ -401,8 +400,8 @@ Returns reference to hash of IIDs to admin duplex setting
=item $c1900->i_name() =item $c1900->i_name()
Crosses ifName with $c1900->c1900_p_name() and returns the human set port name Crosses C<ifName> with $c1900->c1900_p_name() and returns the human set port
if exists. name if exists.
=item $c1900->i_vlan() =item $c1900->i_vlan()
@@ -426,7 +425,7 @@ bridge group IDs.
=back =back
=head2 STAND-ALONE-ETHERNET-SWITCH-MIB Switch Port Table Entries: =head2 F<STAND-ALONE-ETHERNET-SWITCH-MIB> Switch Port Table Entries:
=over =over
@@ -434,43 +433,43 @@ bridge group IDs.
Maps the Switch Port Table to the IID Maps the Switch Port Table to the IID
B<swPortIfIndex> C<swPortIfIndex>
=item $c1900->c1900_p_duplex() =item $c1900->c1900_p_duplex()
Gives Port Duplex Info Gives Port Duplex Info
(B<swPortDuplexStatus>) (C<swPortDuplexStatus>)
=item $c1900->c1900_p_duplex_admin() =item $c1900->c1900_p_duplex_admin()
Gives admin setting for Duplex Info Gives admin setting for Duplex Info
(B<swPortFullDuplex>) (C<swPortFullDuplex>)
=item $c1900->c1900_p_name() =item $c1900->c1900_p_name()
Gives human set name for port Gives human set name for port
(B<swPortName>) (C<swPortName>)
=item $c1900->c1900_p_up_admin() =item $c1900->c1900_p_up_admin()
Gives Admin status of port enabled. Gives Admin status of port enabled.
(B<swPortAdminStatus>) (C<swPortAdminStatus>)
=item $c1900->c1900_p_type() =item $c1900->c1900_p_type()
Gives Type of port, ie. "general-ethernet" Gives Type of port, i.e. C<"general-ethernet">
(B<swPortMediaCapability>) (C<swPortMediaCapability>)
=item $c1900->c1900_p_media() =item $c1900->c1900_p_media()
Gives the media of the port , ie "fiber-sc" Gives the media of the port , i.e. "C<fiber-sc>"
(B<swPortConnectorType>) (C<swPortConnectorType>)
=back =back
@@ -500,12 +499,14 @@ L<SNMP::Info/"SETTING DATA VIA SNMP"> for general information on set operations.
=item $c1900->set_i_duplex_admin(duplex, ifIndex) =item $c1900->set_i_duplex_admin(duplex, ifIndex)
Sets port duplex, must be supplied with duplex and port ifIndex. Speed choices Sets port duplex, must be supplied with duplex and port C<ifIndex>. Speed
are 'auto', 'half', 'full'. choices are 'auto', 'half', 'full'.
Example: Example:
my %if_map = reverse %{$c1900->interfaces()}; my %if_map = reverse %{$c1900->interfaces()};
$c1900->set_i_duplex_admin('auto', $if_map{'1'}) $c1900->set_i_duplex_admin('auto', $if_map{'1'})
or die "Couldn't change port duplex. ",$c1900->error(1); or die "Couldn't change port duplex. ",$c1900->error(1);
=back
=cut =cut

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer2::C2900 # SNMP::Info::Layer2::C2900
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,28 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::C2900; package SNMP::Info::Layer2::C2900;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
use Exporter; use Exporter;
@@ -211,7 +212,8 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::Layer2::C2900 - SNMP Interface to Cisco Catalyst 2900 Switches running IOS SNMP::Info::Layer2::C2900 - SNMP Interface to Cisco Catalyst 2900 Switches
running IOS
=head1 AUTHOR =head1 AUTHOR
@@ -263,7 +265,7 @@ after determining a more specific class using the method above.
=over =over
=item CISCO-C2900-MIB =item F<CISCO-C2900-MIB>
Part of the v2 MIBs from Cisco. Part of the v2 MIBs from Cisco.
@@ -328,10 +330,11 @@ to a hash.
Returns reference to the map between IID and physical Port. Returns reference to the map between IID and physical Port.
On the 2900 devices i_name isn't reliable, so we override to just the description. On the 2900 devices i_name isn't reliable, so we override to just the
description.
Next all dots are changed for forward slashes so that the physical port name Next all dots are changed for forward slashes so that the physical port name
is the same as the broadcasted CDP port name. is the same as the broad-casted CDP port name.
(Ethernet0.1 -> Ethernet0/1) (Ethernet0.1 -> Ethernet0/1)
Also, any weird characters are removed, as I saw a few pop up. Also, any weird characters are removed, as I saw a few pop up.
@@ -350,7 +353,7 @@ Crosses $c2900->c2900_p_index() with $c2900->c2900_p_duplex_admin()
=back =back
=head2 C2900-MIB Port Entry Table =head2 F<C2900-MIB> Port Entry Table
=over =over
@@ -358,25 +361,25 @@ Crosses $c2900->c2900_p_index() with $c2900->c2900_p_duplex_admin()
Maps the Switch Port Table to the IID Maps the Switch Port Table to the IID
(B<c2900PortIfIndex>) (C<c2900PortIfIndex>)
=item $c2900->c2900_p_duplex() =item $c2900->c2900_p_duplex()
Gives Port Duplex Info Gives Port Duplex Info
(B<c2900PortDuplexStatus>) (C<c2900PortDuplexStatus>)
=item $c2900->c2900_p_duplex_admin() =item $c2900->c2900_p_duplex_admin()
Gives admin setting for Duplex Info Gives admin setting for Duplex Info
(B<c2900PortDuplexState>) (C<c2900PortDuplexState>)
=item $c2900->c2900_p_speed_admin() =item $c2900->c2900_p_speed_admin()
Gives Admin speed of port Gives Admin speed of port
(B<c2900PortAdminSpeed>) (C<c2900PortAdminSpeed>)
=back =back
@@ -410,12 +413,12 @@ L<SNMP::Info/"SETTING DATA VIA SNMP"> for general information on set operations.
=item $c2900->set_i_speed_admin(speed, ifIndex) =item $c2900->set_i_speed_admin(speed, ifIndex)
Sets port speed, must be supplied with speed and port ifIndex Sets port speed, must be supplied with speed and port C<ifIndex>
Speed choices are 'auto', '10', '100' Speed choices are 'auto', '10', '100'
Crosses $c2900->c2900_p_index() with $c2900->c2900_p_speed_admin() to utilize Crosses $c2900->c2900_p_index() with $c2900->c2900_p_speed_admin() to utilize
port ifIndex. port C<ifIndex>.
Example: Example:
my %if_map = reverse %{$c2900->interfaces()}; my %if_map = reverse %{$c2900->interfaces()};
@@ -424,16 +427,18 @@ port ifIndex.
=item $c2900->set_i_duplex_admin(duplex, ifIndex) =item $c2900->set_i_duplex_admin(duplex, ifIndex)
Sets port duplex, must be supplied with duplex and port ifIndex Sets port duplex, must be supplied with duplex and port C<ifIndex>
Speed choices are 'auto', 'half', 'full' Speed choices are 'auto', 'half', 'full'
Crosses $c2900->c2900_p_index() with $c2900->c2900_p_duplex_admin() to utilize Crosses $c2900->c2900_p_index() with $c2900->c2900_p_duplex_admin() to utilize
port ifIndex. port C<ifIndex>.
Example: Example:
my %if_map = reverse %{$c2900->interfaces()}; my %if_map = reverse %{$c2900->interfaces()};
$c2900->set_i_duplex_admin('auto', $if_map{'FastEthernet0/1'}) $c2900->set_i_duplex_admin('auto', $if_map{'FastEthernet0/1'})
or die "Couldn't change port duplex. ",$c2900->error(1); or die "Couldn't change port duplex. ",$c2900->error(1);
=back
=cut =cut

View File

@@ -1,8 +1,8 @@
# SNMP::Info::Layer2::Catalyst # SNMP::Info::Layer2::Catalyst
# Max Baker # $Id$
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# Copyright (c) 2003,2004 Max Baker changes from version 0.8 and beyond # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond
# All rights reserved. # All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@@ -10,27 +10,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Catalyst; package SNMP::Info::Layer2::Catalyst;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -196,7 +196,6 @@ Max Baker
my $cat = new SNMP::Info( my $cat = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -261,7 +260,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::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.
@@ -331,15 +331,15 @@ Returns the map between SNMP Interface Identifier (iid) and physical port name.
Returns reference to hash of iid to human set name. Returns reference to hash of iid to human set name.
B<portName> C<portName>
=item $cat->bp_index() =item $cat->bp_index()
Returns reference to hash of bridge port table entries map back to interface Returns reference to hash of bridge port table entries map back to interface
identifier (iid) identifier (iid)
Crosses (B<portCrossIndex>) to (B<portIfIndex>) since some devices seem to have Crosses (C<portCrossIndex>) to (C<portIfIndex>) since some devices seem to have
problems with BRIDGE-MIB problems with F<BRIDGE-MIB>
=back =back

View File

@@ -1,34 +1,34 @@
# SNMP::Info::Layer2::Centillion # SNMP::Info::Layer2::Centillion
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2004 Eric Miller # Copyright (c) 2008 Eric Miller
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Centillion; package SNMP::Info::Layer2::Centillion;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
@@ -244,7 +244,8 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::Layer2::Centillion - SNMP Interface to Nortel Centillion based ATM Switches SNMP::Info::Layer2::Centillion - SNMP Interface to Nortel Centillion based
ATM Switches
=head1 AUTHOR =head1 AUTHOR
@@ -256,7 +257,6 @@ Eric Miller
my $centillion = new SNMP::Info( my $centillion = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -271,8 +271,8 @@ Eric Miller
Provides abstraction to the configuration information obtainable from a Provides abstraction to the configuration information obtainable from a
Centillion device through SNMP. Centillion device through SNMP.
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 $centillion = new SNMP::Info::Layer2::centillion(...); my $centillion = new SNMP::Info::Layer2::centillion(...);
@@ -297,13 +297,13 @@ than bridge group based.
=over =over
=item CENTILLION-DOT3-EXTENSIONS-MIB =item F<CENTILLION-DOT3-EXTENSIONS-MIB>
=item S5-COMMON-STATS-MIB =item F<S5-COMMON-STATS-MIB>
=item CENTILLION-VLAN-MIB =item F<CENTILLION-VLAN-MIB>
=item CENTILLION-CONFIG-MIB =item F<CENTILLION-CONFIG-MIB>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
@@ -317,15 +317,6 @@ See L<SNMP::Info::SONMP/"Required MIBs"> for its own MIB requirements.
=back =back
MIBs can be found on the CD that came with your product.
Or, they can be downloaded directly from Nortel Networks regardless of support
contract status.
Go to http://www.nortelnetworks.com Techninal Support, Browse Technical Support,
Select by Product Families, Centillion, Centillion C100-C50 ATM Speed Modules,
Software. Filter on mibs and download the latest version's archive.
=head1 GLOBALS =head1 GLOBALS
These are methods that return scalar value from SNMP These are methods that return scalar value from SNMP
@@ -338,10 +329,10 @@ Returns 'Nortel'
=item $centillion->model() =item $centillion->model()
Cross references $centillion->id() to the SYNOPTICS-MIB and returns Cross references $centillion->id() to the F<SYNOPTICS-MIB> and returns
the results. the results.
Removes sreg- from the model name Removes C<sreg-> from the model name
=item $centillion->os() =item $centillion->os()
@@ -349,23 +340,23 @@ Returns 'Centillion'
=item $centillion->tftp_action() =item $centillion->tftp_action()
(B<sysTFTPStart>) (C<sysTFTPStart>)
=item $centillion->tftp_host() =item $centillion->tftp_host()
(B<sysTFTPIpAddress>) (C<sysTFTPIpAddress>)
=item $centillion->tftp_file() =item $centillion->tftp_file()
(B<sysTFTPFileName>) (C<sysTFTPFileName>)
=item $centillion->tftp_type() =item $centillion->tftp_type()
(B<sysTFTPFileType>) (C<sysTFTPFileType>)
=item $centillion->tftp_result() =item $centillion->tftp_result()
(B<sysTFTPResult>) (C<sysTFTPResult>)
=back =back
@@ -375,7 +366,8 @@ Returns 'Centillion'
=item $centillion->layers() =item $centillion->layers()
Returns 00000011. Class emulates Layer 2 functionality through proprietary MIBs. Returns 00000011. Class emulates Layer 2 functionality through proprietary
MIBs.
=item $centillion->index_factor() =item $centillion->index_factor()
@@ -438,23 +430,23 @@ Returns reference to hash of IIDs to ignore.
=item $centillion->fw_mac() =item $centillion->fw_mac()
(B<s5CmSNodeMacAddr>) (C<s5CmSNodeMacAddr>)
=item $centillion->fw_port() =item $centillion->fw_port()
(B<s5CmSNodeIfIndx>) (C<s5CmSNodeIfIndx>)
=item $centillion->bp_index() =item $centillion->bp_index()
Returns a mapping between ifIndex and the Bridge Table. Returns a mapping between C<ifIndex> and the Bridge Table.
=item $centillion->i_vlan() =item $centillion->i_vlan()
Returns a mapping between ifIndex and the VLAN. Returns a mapping between C<ifIndex> and the VLAN.
=back =back
=head2 Centillion 802.3 Extension Table (B<cnDot3ExtnTable>) =head2 Centillion 802.3 Extension Table (C<cnDot3ExtnTable>)
=over =over
@@ -462,23 +454,23 @@ Returns a mapping between ifIndex and the VLAN.
Returns reference to hash. Maps table IIDs to Interface IIDs Returns reference to hash. Maps table IIDs to Interface IIDs
(B<cnDot3ExtnIfIndex>) (C<cnDot3ExtnIfIndex>)
=item $centillion->centillion_p_duplex() =item $centillion->centillion_p_duplex()
Returns reference to hash. Maps port operational duplexes to IIDs Returns reference to hash. Maps port operational duplexes to IIDs
(B<cnDot3ExtnIfOperConnectionType>) (C<cnDot3ExtnIfOperConnectionType>)
=item $centillion->rc_centillion_p_duplex_admin() =item $centillion->rc_centillion_p_duplex_admin()
Returns reference to hash. Maps port admin duplexes to IIDs Returns reference to hash. Maps port admin duplexes to IIDs
(B<cnDot3ExtnIfAdminConnectionType>) (C<cnDot3ExtnIfAdminConnectionType>)
=back =back
=head2 Centillion VLAN Table (B<cnVlanPortMemberTable>) =head2 Centillion VLAN Table (C<cnVlanPortMemberTable>)
=over =over
@@ -486,19 +478,19 @@ Returns reference to hash. Maps port admin duplexes to IIDs
Returns reference to hash. Key: Table entry, Value: Index Returns reference to hash. Key: Table entry, Value: Index
(B<cnVlanPortMemberIfIndex>) (C<cnVlanPortMemberIfIndex>)
=item $centillion->centillion_i_vlan() =item $centillion->centillion_i_vlan()
Returns reference to hash. Key: Table entry, Value: VLAN ID Returns reference to hash. Key: Table entry, Value: VLAN ID
(B<cnVlanPortMemberVID>) (C<cnVlanPortMemberVID>)
=item $centillion->centillion_i_vlan_type() =item $centillion->centillion_i_vlan_type()
Returns reference to hash. Key: Table entry, Value: VLAN Type Returns reference to hash. Key: Table entry, Value: VLAN Type
(B<cnVlanPortMemberIngressType>) (C<cnVlanPortMemberIngressType>)
=back =back

View File

@@ -1,33 +1,33 @@
# SNMP::Info::Layer2::Cisco # SNMP::Info::Layer2::Cisco
# Max Baker # $Id$
# #
# Copyright (c) 2006 Max Baker # Copyright (c) 2008 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Cisco; package SNMP::Info::Layer2::Cisco;
# $Id$
use strict; use strict;
@@ -42,7 +42,7 @@ use SNMP::Info::CiscoConfig;
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/ ;
$VERSION = '1.07'; $VERSION = '1.09';
@SNMP::Info::Layer2::Cisco::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP @SNMP::Info::Layer2::Cisco::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP
SNMP::Info::CiscoStats SNMP::Info::CiscoImage SNMP::Info::CiscoStats SNMP::Info::CiscoImage
SNMP::Info::CiscoRTT SNMP::Info::CiscoQOS SNMP::Info::CiscoRTT SNMP::Info::CiscoQOS

View File

@@ -1,33 +1,34 @@
# SNMP::Info::Layer2::Foundry - SNMP Interface to Foundry Switches # SNMP::Info::Layer2::Foundry - SNMP Interface to Foundry Switches
# $Id$
# #
# Copyright (c) 2005 Max Baker # Copyright (c) 2008 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Foundry; package SNMP::Info::Layer2::Foundry;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -237,7 +238,7 @@ This module provides support for Foundry EdgeIron Switches
=over =over
=item FOUNDRY-SN-ROOT-MIB =item F<FOUNDRY-SN-ROOT-MIB>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer2::HP - SNMP Interface to HP ProCurve Switches # SNMP::Info::Layer2::HP - SNMP Interface to HP ProCurve Switches
# Max Baker # $Id$
# #
# Copyright (c) 2004,2005 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::HP; package SNMP::Info::Layer2::HP;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -613,7 +613,6 @@ Max Baker
my $hp = new SNMP::Info( my $hp = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -628,12 +627,12 @@ Max Baker
Provides abstraction to the configuration information obtainable from a Provides abstraction to the configuration information obtainable from a
HP ProCurve Switch via SNMP. HP ProCurve Switch via SNMP.
Note: Some HP Switches will connect via SNMP version 1, but a lot of config data will Note: Some HP Switches will connect via SNMP version 1, but a lot of config
not be available. Make sure you try and connect with Version 2 first, and then fail back data will not be available. Make sure you try and connect with Version 2
to version 1. first, and then fail back to version 1.
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 $hp = new SNMP::Info::Layer2::HP(...); my $hp = new SNMP::Info::Layer2::HP(...);
@@ -653,30 +652,32 @@ a more specific class using the method above.
=over =over
=item RFC1271-MIB =item F<RFC1271-MIB>
Included in V2 mibs from Cisco Included in V2 mibs from Cisco
=item HP-ICF-OID =item F<HP-ICF-OID>
=item HP-VLAN =item F<HP-VLAN>
(this MIB new with SNMP::Info 0.8) (this MIB new with SNMP::Info 0.8)
=item STATISTICS-MIB =item F<STATISTICS-MIB>
=item NETSWITCH-MIB =item F<NETSWITCH-MIB>
=item CONFIG-MIB =item F<CONFIG-MIB>
=back =back
The last five MIBs listed are from HP and can be found at L<http://www.hp.com/rnd/software> The last five MIBs listed are from HP and can be found at
or L<http://www.hp.com/rnd/software/MIBs.htm> L<http://www.hp.com/rnd/software> or
L<http://www.hp.com/rnd/software/MIBs.htm>
=head1 ChangeLog =head1 Change Log
Version 0.4 - Removed ENTITY-MIB e_*() methods to separate sub-class - SNMP::Info::Entity Version 0.4 - Removed F<ENTITY-MIB> e_*() methods to separate sub-class -
SNMP::Info::Entity
=head1 GLOBALS =head1 GLOBALS
@@ -690,7 +691,8 @@ Returns CPU Utilization in percentage.
=item $hp->log() =item $hp->log()
Returns all the log entries from the switch's log that are not Link up or down messages. Returns all the log entries from the switch's log that are not Link up or
down messages.
=item $hp->mem_free() =item $hp->mem_free()
@@ -706,8 +708,8 @@ Returns bytes of used memory
=item $hp->model() =item $hp->model()
Returns the model number of the HP Switch. Will translate between the HP Part number and Returns the model number of the HP Switch. Will translate between the HP Part
the common model number with this map : number and the common model number with this map :
%MODEL_MAP = ( %MODEL_MAP = (
'J4093A' => '2424M', 'J4093A' => '2424M',
@@ -776,7 +778,7 @@ Returns hp
=item $hp->os_bin() =item $hp->os_bin()
B<hpSwitchRomVersion.0> C<hpSwitchRomVersion.0>
=item $hp->os_ver() =item $hp->os_ver()
@@ -785,7 +787,7 @@ the description field.
=item $hp->os_version() =item $hp->os_version()
B<hpSwitchOsVersion.0> C<hpSwitchOsVersion.0>
=item $hp->serial() =item $hp->serial()
@@ -840,20 +842,20 @@ Crosses i_name() with $hp->e_name() using $hp->e_port() and i_alias()
=item $hp->i_vlan() =item $hp->i_vlan()
Returns a mapping between ifIndex and the PVID (default VLAN) or untagged Returns a mapping between C<ifIndex> and the PVID (default VLAN) or untagged
port when using HP-VLAN. port when using F<HP-VLAN>.
Looks in Q-BRIDGE-MIB first (L<SNMP::Info::Bridge/"TABLE METHODS">) and for Looks in F<Q-BRIDGE-MIB> first (L<SNMP::Info::Bridge/"TABLE METHODS">) and for
older devices looks in HP-VLAN. older devices looks in F<HP-VLAN>.
=item $hp->i_vlan_membership() =item $hp->i_vlan_membership()
Returns reference to hash of arrays: key = ifIndex, value = array of VLAN IDs. Returns reference to hash of arrays: key = C<ifIndex>, value = array of VLAN
These are the VLANs which are members of the egress list for the port. It IDs. These are the VLANs which are members of the egress list for the port.
is the union of tagged, untagged, and auto ports when using HP-VLAN. It is the union of tagged, untagged, and auto ports when using F<HP-VLAN>.
Looks in Q-BRIDGE-MIB first (L<SNMP::Info::Bridge/"TABLE METHODS">) and for Looks in F<Q-BRIDGE-MIB> first (L<SNMP::Info::Bridge/"TABLE METHODS">) and for
older devices looks in HP-VLAN. older devices looks in F<HP-VLAN>.
Example: Example:
my $interfaces = $hp->interfaces(); my $interfaces = $hp->interfaces();
@@ -867,10 +869,11 @@ older devices looks in HP-VLAN.
=item $hp->bp_index() =item $hp->bp_index()
Returns reference to hash of bridge port table entries map back to interface identifier (iid) Returns reference to hash of bridge port table entries map back to interface
identifier (iid)
Returns (B<ifIndex>) for both key and value for 1600, 2424, 4000, and 8000 models Returns (C<ifIndex>) for both key and value for 1600, 2424, 4000, and 8000
since they seem to have problems with BRIDGE-MIB models since they seem to have problems with F<BRIDGE-MIB>
=back =back
@@ -881,7 +884,7 @@ Protocol (CDP), Link Layer Discovery Protocol (LLDP), or both. These methods
will query both and return the combination of all information. As a result, will query both and return the combination of all information. As a result,
there may be identical topology information returned from the two protocols there may be identical topology information returned from the two protocols
causing duplicate entries. It is the calling program's responsibility to causing duplicate entries. It is the calling program's responsibility to
identify any duplicate entries and de-duplicate if necessary. identify any duplicate entries and remove duplicates if necessary.
=over =over

View File

@@ -1,34 +1,34 @@
# SNMP::Info::Layer2::N2270 # SNMP::Info::Layer2::N2270
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2005 Eric Miller # Copyright (c) 2008 Eric Miller
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::N2270; package SNMP::Info::Layer2::N2270;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
use Exporter; use Exporter;
@@ -115,7 +115,6 @@ Eric Miller
my $n2270 = new SNMP::Info( my $n2270 = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -131,8 +130,8 @@ Eric Miller
Provides abstraction to the configuration information obtainable from a Provides abstraction to the configuration information obtainable from a
Nortel 2270 Series Wireless Switch through SNMP. Nortel 2270 Series Wireless Switch through SNMP.
For speed or debugging purposes you can call the subclass directly, but not after For speed or debugging purposes you can call the subclass directly, but not
determining a more specific class using the method above. after determining a more specific class using the method above.
my $n2270 = new SNMP::Info::Layer2::N2270(...); my $n2270 = new SNMP::Info::Layer2::N2270(...);
@@ -182,10 +181,10 @@ Returns 'nortel'
=item $n2270->model() =item $n2270->model()
Cross references $bayhub->id() to the SYNOPTICS-ROOT-MIB and returns Cross references $bayhub->id() to the F<SYNOPTICS-ROOT-MIB> and returns
the results. the results.
Removes sreg-WLANSecuritySwitch from the model name Removes C<sreg-WLANSecuritySwitch> from the model name
=back =back

View File

@@ -1,34 +1,34 @@
# SNMP::Info::Layer2::NAP222x # SNMP::Info::Layer2::NAP222x
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2004 Eric Miller # Copyright (c) 2008 Eric Miller
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::NAP222x; package SNMP::Info::Layer2::NAP222x;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
use Exporter; use Exporter;
@@ -373,7 +373,6 @@ Eric Miller
my $nap222x = new SNMP::Info( my $nap222x = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -388,8 +387,8 @@ Eric Miller
Provides abstraction to the configuration information obtainable from a Nortel Provides abstraction to the configuration information obtainable from a Nortel
2220 series wireless Access Points through SNMP. 2220 series wireless Access Points through SNMP.
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 $nap222x = new SNMP::Info::Layer2::NAP222x(...); my $nap222x = new SNMP::Info::Layer2::NAP222x(...);
@@ -409,7 +408,7 @@ a more specific class using the method above.
=over =over
=item NORTEL-WLAN-AP-MIB =item F<NORTEL-WLAN-AP-MIB>
=back =back
@@ -430,7 +429,7 @@ These are methods that return scalar value from SNMP
=item $nap222x->model() =item $nap222x->model()
Returns the model extracted from B<sysDescr>. Returns the model extracted from C<sysDescr>.
=item $nap222x->os() =item $nap222x->os()
@@ -438,7 +437,7 @@ Returns 'nortel'
=item $nap222x->os_bin() =item $nap222x->os_bin()
Returns the firmware version extracted from B<ntWlanSwBootRomVer>. Returns the firmware version extracted from C<ntWlanSwBootRomVer>.
=item $nap222x->mac() =item $nap222x->mac()
@@ -452,49 +451,49 @@ Returns the MAC address of the first Ethernet Interface.
Returns the hardware version. Returns the hardware version.
(B<ntWlanSwHardwareVer>) (C<ntWlanSwHardwareVer>)
=item $nap222x->nt_cc() =item $nap222x->nt_cc()
Returns the country code of the AP. Returns the country code of the AP.
(B<ntWlanSwHardwareVer>) (C<ntWlanSwHardwareVer>)
=item $nap222x->tftp_action() =item $nap222x->tftp_action()
(B<ntWlanTransferStart>) (C<ntWlanTransferStart>)
=item $nap222x->tftp_host() =item $nap222x->tftp_host()
(B<ntWlanFileServer>) (C<ntWlanFileServer>)
=item $nap222x->tftp_file() =item $nap222x->tftp_file()
(B<ntWlanDestFile>) (C<ntWlanDestFile>)
=item $nap222x->tftp_type() =item $nap222x->tftp_type()
(B<ntWlanFileType>) (C<ntWlanFileType>)
=item $nap222x->tftp_result() =item $nap222x->tftp_result()
(B<ntWlanFileTransferStatus>) (C<ntWlanFileTransferStatus>)
=item $nap222x->tftp_xtype() =item $nap222x->tftp_xtype()
(B<ntWlanTransferType>) (C<ntWlanTransferType>)
=item $nap222x->tftp_src_file() =item $nap222x->tftp_src_file()
(B<ntWlanSrcFile>) (C<ntWlanSrcFile>)
=item $nap222x->ftp_user() =item $nap222x->ftp_user()
(B<ntWlanUserName>) (C<ntWlanUserName>)
=item $nap222x->ftp_pass() =item $nap222x->ftp_pass()
(B<ntWlanPassword>) (C<ntWlanPassword>)
=back =back
@@ -527,13 +526,13 @@ Returns reference to map of IIDs to physical ports.
Returns reference to hash. Maps port operational duplexes to IIDs. Returns reference to hash. Maps port operational duplexes to IIDs.
(B<ntWlanPortSpeedDpxStatus>) (C<ntWlanPortSpeedDpxStatus>)
=item $nap222x->i_duplex_admin() =item $nap222x->i_duplex_admin()
Returns reference to hash. Maps port admin duplexes to IIDs. Returns reference to hash. Maps port admin duplexes to IIDs.
(B<ntWlanPortCapabilities>) (C<ntWlanPortCapabilities>)
=item $nap222x->i_name() =item $nap222x->i_name()
@@ -541,8 +540,9 @@ Returns a human name based upon port description.
=item $nap222x->bp_index() =item $nap222x->bp_index()
Returns a mapping between ifIndex and the Bridge Table. This does not exist in Returns a mapping between C<ifIndex> and the Bridge Table. This does not
the MIB and bridge port index is not the same as ifIndex so it is created. exist in the MIB and bridge port index is not the same as C<ifIndex> so it is
created.
=item $nap222x->i_ssidlist() =item $nap222x->i_ssidlist()
@@ -559,9 +559,9 @@ interface.
=item $nap222x->i_vlan() =item $nap222x->i_vlan()
The default VID of the radio interfaces. The default Vlan ID of the radio interfaces.
(B<ntWlanApVlanDefaultVid>) (C<ntWlanApVlanDefaultVid>)
=back =back

View File

@@ -1,32 +1,33 @@
# SNMP::Info::Layer2::Netgear # SNMP::Info::Layer2::Netgear
# Bill Fenner and Zoltan Erszenyi # $Id$
# #
# Copyright (c) 2008 Bill Fenner
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Netgear; package SNMP::Info::Layer2::Netgear;
# $Id$
use strict; use strict;
@@ -36,7 +37,7 @@ 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.07'; $VERSION = '1.09';
@SNMP::Info::Layer2::Netgear::ISA = qw/SNMP::Info::Layer2 Exporter/; @SNMP::Info::Layer2::Netgear::ISA = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::Netgear::EXPORT_OK = qw//; @SNMP::Info::Layer2::Netgear::EXPORT_OK = qw//;
@@ -111,7 +112,6 @@ Bill Fenner and Zoltan Erszenyi
my $netgear = new SNMP::Info( my $netgear = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2

View File

@@ -1,34 +1,34 @@
# SNMP::Info::Layer2::Orinoco # SNMP::Info::Layer2::Orinoco
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2004 Eric Miller # Copyright (c) 2008 Eric Miller
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Orinoco; package SNMP::Info::Layer2::Orinoco;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
use Exporter; use Exporter;
@@ -195,7 +195,6 @@ Eric Miller
my $orinoco = new SNMP::Info( my $orinoco = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -208,11 +207,11 @@ Eric Miller
=head1 DESCRIPTION =head1 DESCRIPTION
Provides abstraction to the configuration information obtainable from a Orinoco Provides abstraction to the configuration information obtainable from a Orinoco
Access Point through SNMP. Orinoco devices have been maufactured by Proxim, Access Point through SNMP. Orinoco devices have been manufactured by Proxim,
Agere, and Lucent. Agere, and Lucent.
For speed or debugging purposes you can call the subclass directly, but not after For speed or debugging purposes you can call the subclass directly, but not
determining a more specific class using the method above. after determining a more specific class using the method above.
my $orinoco = new SNMP::Info::Layer2::Orinoco(...); my $orinoco = new SNMP::Info::Layer2::Orinoco(...);
@@ -252,7 +251,7 @@ Returns 'proxim'
=item $orinoco->model() =item $orinoco->model()
Returns the model extracted from B<sysDescr>. Returns the model extracted from C<sysDescr>.
=item $orinoco->os() =item $orinoco->os()
@@ -260,15 +259,15 @@ Returns 'Orinoco'
=item $orinoco->os_ver() =item $orinoco->os_ver()
Returns the software version extracted from B<sysDescr>. Returns the software version extracted from C<sysDescr>.
=item $orinoco->os_bin() =item $orinoco->os_bin()
Returns the firmware version extracted from B<sysDescr>. Returns the firmware version extracted from C<sysDescr>.
=item $orinoco->serial() =item $orinoco->serial()
Returns the serial number extracted from B<sysDescr>. Returns the serial number extracted from C<sysDescr>.
=back =back

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer2::ZyXEL_DSLAM # SNMP::Info::Layer2::ZyXEL_DSLAM
# Dmitry Sergienko <dmitry@trifle.net> # $Id$
# #
# Copyright (c) 2004 Max Baker # Copyright (c) 2008 Max Baker
# All rights reserved. # All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@@ -9,27 +9,28 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of Netdisco nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::ZyXEL_DSLAM; package SNMP::Info::Layer2::ZyXEL_DSLAM;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
use Exporter; use Exporter;
@@ -127,7 +128,6 @@ Dmitry Sergienko (C<dmitry@trifle.net>)
my $zyxel = new SNMP::Info( my $zyxel = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myhub', DestHost => 'myhub',
Community => 'public', Community => 'public',
Version => 1 Version => 1
@@ -155,13 +155,12 @@ inherited methods.
=over =over
=item ADSL-LINE-MIB =item F<ADSL-LINE-MIB>
This MIB assumedly obtainable through ZyXEL or possibly included with your device.
=item Inherited Classes =item Inherited Classes
MIBs listed in L<SNMP::Info::Layer2/"Required MIBs"> and their inherited classes. MIBs listed in L<SNMP::Info::Layer2/"Required MIBs"> and their inherited
classes.
=back =back
@@ -189,11 +188,11 @@ Culls Version from description()
Returns IP Address of DSLAM. Returns IP Address of DSLAM.
(B<ipAdEntAddr>) (C<ipAdEntAddr>)
=item $zyxel->model() =item $zyxel->model()
Trys to cull out model out of the description field. Tries to cull out model out of the description field.
=back =back
@@ -209,7 +208,7 @@ See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
=item $zyxel->i_name() =item $zyxel->i_name()
Returns reference to map of IIDs to port name (B<ifDescr>). Returns reference to map of IIDs to port name (C<ifDescr>).
=item $zyxel->i_description() =item $zyxel->i_description()

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer3 - SNMP Interface to Layer3 devices # SNMP::Info::Layer3 - SNMP Interface to Layer3 devices
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker -- All changes from Version 0.7 on # Copyright (c) 2008 Max Baker -- All changes from Version 0.7 on
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3; package SNMP::Info::Layer3;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -316,7 +316,6 @@ Max Baker
my $l3 = new SNMP::Info( my $l3 = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -369,11 +368,11 @@ after determining a more specific class using the method above.
=over =over
=item IP-MIB =item F<IP-MIB>
=item OSPF-MIB =item F<OSPF-MIB>
=item BGP4-MIB =item F<BGP4-MIB>
=back =back
@@ -387,8 +386,6 @@ See L<SNMP::Info::EtherLike/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::Entity/"Required MIBs"> for its MIB requirements. See L<SNMP::Info::Entity/"Required MIBs"> for its MIB requirements.
MIBs can be found in the netdisco-mibs package.
=head1 GLOBALS =head1 GLOBALS
These are methods that return scalar value from SNMP These are methods that return scalar value from SNMP
@@ -399,15 +396,15 @@ These are methods that return scalar value from SNMP
Returns root port mac address Returns root port mac address
(B<ifPhysAddress.1>) (C<ifPhysAddress.1>)
=item $l3->router_ip() =item $l3->router_ip()
(B<ospfRouterId.0>) (C<ospfRouterId.0>)
=item $l3->bgp_id() =item $l3->bgp_id()
(B<bgpIdentifier.0>) (C<bgpIdentifier.0>)
Returns the BGP identifier of the local system Returns the BGP identifier of the local system
@@ -415,7 +412,7 @@ Returns the BGP identifier of the local system
Returns the local autonomous system number Returns the local autonomous system number
(B<bgpLocalAs.0>) (C<bgpLocalAs.0>)
=back =back
@@ -425,23 +422,24 @@ Returns the local autonomous system number
=item $l3->model() =item $l3->model()
Trys to reference $l3->id() to one of the product MIBs listed above Tries to reference $l3->id() to one of the product MIBs listed above
Removes 'cisco' from cisco devices for readability. Removes 'cisco' from cisco devices for readability.
=item $l3->serial() =item $l3->serial()
Trys to cull a serial number from ENTITY-MIB, description, and OLD-CISCO-... mib Tries to cull a serial number from F<ENTITY-MIB>, description, and
F<OLD-CISCO->... MIB.
=item $l3->vendor() =item $l3->vendor()
Trys to cull a Vendor name from B<sysDescr> Tries to cull a Vendor name from C<sysDescr>
=item $l3->root_ip() =item $l3->root_ip()
Returns the primary IP used to communicate with the device. Returns the first Returns the primary IP used to communicate with the device. Returns the first
found: OSPF Router ID (B<ospfRouterId>) or any OSPF Host IP Address found: OSPF Router ID (C<ospfRouterId>) or any OSPF Host IP Address
(B<ospfHostIpAddress>). (C<ospfHostIpAddress>).
=back =back
@@ -486,7 +484,7 @@ Currently looks for tunnel,loopback,lo,null from $l3->interfaces()
Returns reference to hash of iid to human set name. Returns reference to hash of iid to human set name.
Defaults to B<ifName>, but checks for an B<ifAlias> Defaults to C<ifName>, but checks for an C<ifAlias>
=item $l3->i_duplex() =item $l3->i_duplex()
@@ -499,7 +497,7 @@ See L<SNMP::Info::Etherlike> for the el_index() and el_duplex() methods.
=back =back
=head2 IP-MIB Arp Cache Table (B<ipNetToMediaTable>) =head2 F<IP-MIB> Arp Cache Table (C<ipNetToMediaTable>)
=over =over
@@ -507,35 +505,35 @@ See L<SNMP::Info::Etherlike> for the el_index() and el_duplex() methods.
Returns reference to hash. Maps ARP table entries to Interface IIDs Returns reference to hash. Maps ARP table entries to Interface IIDs
(B<ipNetToMediaIfIndex>) (C<ipNetToMediaIfIndex>)
If the device doesn't support B<ipNetToMediaIfIndex>, this will try If the device doesn't support C<ipNetToMediaIfIndex>, this will try
the deprecated B<atIfIndex>. the deprecated C<atIfIndex>.
=item $l3->at_paddr() =item $l3->at_paddr()
Returns reference to hash. Maps ARP table entries to MAC addresses. Returns reference to hash. Maps ARP table entries to MAC addresses.
(B<ipNetToMediaPhysAddress>) (C<ipNetToMediaPhysAddress>)
If the device doesn't support B<ipNetToMediaPhysAddress>, this will try If the device doesn't support C<ipNetToMediaPhysAddress>, this will try
the deprecated B<atPhysAddress>. the deprecated C<atPhysAddress>.
=item $l3->at_netaddr() =item $l3->at_netaddr()
Returns reference to hash. Maps ARP table entries to IPs Returns reference to hash. Maps ARP table entries to IP addresses.
(B<ipNetToMediaNetAddress>) (C<ipNetToMediaNetAddress>)
If the device doesn't support B<ipNetToMediaNetAddress>, this will try If the device doesn't support C<ipNetToMediaNetAddress>, this will try
the deprecated B<atNetAddress>. the deprecated C<atNetAddress>.
=back =back
=head2 ARP Cache Entries =head2 ARP Cache Entries
The B<atTable> has been deprecated since 1991. You should never need The C<atTable> has been deprecated since 1991. You should never need
to use these methods. See B<ipNetToMediaTable> above. to use these methods. See C<ipNetToMediaTable> above.
=over =over
@@ -543,23 +541,23 @@ to use these methods. See B<ipNetToMediaTable> above.
Returns reference to map of IID to Arp Cache Entry Returns reference to map of IID to Arp Cache Entry
(B<atIfIndex>) (C<atIfIndex>)
=item $l3->old_at_paddr() =item $l3->old_at_paddr()
Returns reference to hash of Arp Cache Entries to MAC address Returns reference to hash of Arp Cache Entries to MAC address
(B<atPhysAddress>) (C<atPhysAddress>)
=item $l3->old_at_netaddr() =item $l3->old_at_netaddr()
Returns reference to hash of Arp Cache Entries to IP Address Returns reference to hash of Arp Cache Entries to IP Address
(B<atNetAddress>) (C<atNetAddress>)
=back =back
=head2 BGP Peer Table (B<bgpPeerTable>) =head2 BGP Peer Table (C<bgpPeerTable>)
=over =over
@@ -567,77 +565,77 @@ Returns reference to hash of Arp Cache Entries to IP Address
Returns reference to hash of BGP peer to local IP address Returns reference to hash of BGP peer to local IP address
(B<bgpPeerLocalAddr>) (C<bgpPeerLocalAddr>)
=item $l3->bgp_peer_id() =item $l3->bgp_peer_id()
Returns reference to hash of BGP peer to BGP peer identifier Returns reference to hash of BGP peer to BGP peer identifier
(B<bgpPeerIdentifier>) (C<bgpPeerIdentifier>)
=item $l3->bgp_peer_state() =item $l3->bgp_peer_state()
Returns reference to hash of BGP peer to BGP peer state Returns reference to hash of BGP peer to BGP peer state
(B<bgpPeerState>) (C<bgpPeerState>)
=item $l3->bgp_peer_as() =item $l3->bgp_peer_as()
Returns reference to hash of BGP peer to BGP peer autonomous system number Returns reference to hash of BGP peer to BGP peer autonomous system number
(B<bgpPeerRemoteAs>) (C<bgpPeerRemoteAs>)
=item $l3->bgp_peer_addr() =item $l3->bgp_peer_addr()
Returns reference to hash of BGP peer to BGP peer IP address Returns reference to hash of BGP peer to BGP peer IP address
(B<bgpPeerRemoteAddr>) (C<bgpPeerRemoteAddr>)
=item $l3->bgp_peer_fsm_est_trans() =item $l3->bgp_peer_fsm_est_trans()
Returns reference to hash of BGP peer to the total number of times the BGP FSM Returns reference to hash of BGP peer to the total number of times the BGP FSM
transitioned into the established state transitioned into the established state
(B<bgpPeerFsmEstablishedTransitions>) (C<bgpPeerFsmEstablishedTransitions>)
=item $l3->bgp_peer_in_tot_msgs() =item $l3->bgp_peer_in_tot_msgs()
Returns reference to hash of BGP peer to the total number of messages received Returns reference to hash of BGP peer to the total number of messages received
from the remote peer on this connection from the remote peer on this connection
(B<bgpPeerInTotalMessages>) (C<bgpPeerInTotalMessages>)
=item $l3->bgp_peer_in_upd_el_time() =item $l3->bgp_peer_in_upd_el_time()
Returns reference to hash of BGP peer to the elapsed time in seconds since Returns reference to hash of BGP peer to the elapsed time in seconds since
the last BGP UPDATE message was received from the peer. the last BGP UPDATE message was received from the peer.
(B<bgpPeerInUpdateElapsedTime>) (C<bgpPeerInUpdateElapsedTime>)
=item $l3->bgp_peer_in_upd() =item $l3->bgp_peer_in_upd()
Returns reference to hash of BGP peer to the number of BGP UPDATE messages Returns reference to hash of BGP peer to the number of BGP UPDATE messages
received on this connection received on this connection
(B<bgpPeerInUpdates>) (C<bgpPeerInUpdates>)
=item $l3->bgp_peer_out_tot_msgs() =item $l3->bgp_peer_out_tot_msgs()
Returns reference to hash of BGP peer to the total number of messages transmitted Returns reference to hash of BGP peer to the total number of messages transmitted
to the remote peer on this connection to the remote peer on this connection
(B<bgpPeerOutTotalMessages>) (C<bgpPeerOutTotalMessages>)
=item $l3->bgp_peer_out_upd() =item $l3->bgp_peer_out_upd()
Returns reference to hash of BGP peer to the number of BGP UPDATE messages Returns reference to hash of BGP peer to the number of BGP UPDATE messages
transmitted on this connection transmitted on this connection
(B<bgpPeerOutUpdates>) (C<bgpPeerOutUpdates>)
=back =back
=head2 OSPF Interface Table (B<ospfIfTable>) =head2 OSPF Interface Table (C<ospfIfTable>)
=over =over
@@ -645,47 +643,47 @@ transmitted on this connection
Returns reference to hash of OSPF interface IP addresses Returns reference to hash of OSPF interface IP addresses
(B<ospfIfIpAddress>) (C<ospfIfIpAddress>)
=item $l3->ospf_if_area() =item $l3->ospf_if_area()
Returns reference to hash of the OSPF area to which the interfaces connect Returns reference to hash of the OSPF area to which the interfaces connect
(B<ospfIfAreaId>) (C<ospfIfAreaId>)
=item $l3->ospf_if_type() =item $l3->ospf_if_type()
Returns reference to hash of the OSPF interfaces' type Returns reference to hash of the OSPF interfaces' type
(B<ospfIfType>) (C<ospfIfType>)
=item $l3->ospf_if_hello() =item $l3->ospf_if_hello()
Returns reference to hash of the OSPF interfaces' hello interval Returns reference to hash of the OSPF interfaces' hello interval
(B<ospfIfHelloInterval>) (C<ospfIfHelloInterval>)
=item $l3->ospf_if_dead() =item $l3->ospf_if_dead()
Returns reference to hash of the OSPF interfaces' dead interval Returns reference to hash of the OSPF interfaces' dead interval
(B<ospfIfRtrDeadInterval>) (C<ospfIfRtrDeadInterval>)
=item $l3->ospf_if_admin() =item $l3->ospf_if_admin()
Returns reference to hash of the OSPF interfaces' administrative status Returns reference to hash of the OSPF interfaces' administrative status
(B<ospfIfAdminStat>) (C<ospfIfAdminStat>)
=item $l3->ospf_if_state() =item $l3->ospf_if_state()
Returns reference to hash of the OSPF interfaces' state Returns reference to hash of the OSPF interfaces' state
(B<ospfIfState>) (C<ospfIfState>)
=back =back
=head2 OSPF Neighbor Table (B<ospfNbrTable>) =head2 OSPF Neighbor Table (C<ospfNbrTable>)
=over =over
@@ -694,20 +692,20 @@ Returns reference to hash of the OSPF interfaces' state
Returns reference to hash of IP addresses the neighbor is using in its Returns reference to hash of IP addresses the neighbor is using in its
IP Source Addresses IP Source Addresses
(B<ospfNbrIpAddr>) (C<ospfNbrIpAddr>)
=item $l3->ospf_peer_id() =item $l3->ospf_peer_id()
Returns reference to hash of neighbor Router IDs Returns reference to hash of neighbor Router IDs
(B<ospfNbrRtrId>) (C<ospfNbrRtrId>)
=item $l3->ospf_peer_state() =item $l3->ospf_peer_state()
Returns reference to hash of state of the relationship with the neighbor Returns reference to hash of state of the relationship with the neighbor
routers routers
(B<ospfNbrState>) (C<ospfNbrState>)
=back =back

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer3::Aironet # SNMP::Info::Layer3::Aironet
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::Aironet; package SNMP::Info::Layer3::Aironet;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -212,7 +212,8 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::Layer3::Aironet - Perl5 Interface to Cisco Aironet Wireless Devices running Aironet software, not IOS SNMP::Info::Layer3::Aironet - Perl5 Interface to Cisco Aironet Wireless Devices
running Aironet software, not IOS
=head1 AUTHOR =head1 AUTHOR
@@ -224,7 +225,6 @@ Max Baker
my $aironet = new SNMP::Info( my $aironet = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -236,8 +236,8 @@ Max Baker
=head1 DESCRIPTION =head1 DESCRIPTION
SNMP::Info subclass to provide access to SNMP data for an Aironet device running Aironet software, SNMP::Info subclass to provide access to SNMP data for an Aironet device
not cisco IOS. running Aironet software, not cisco IOS.
Note there are two classes for Aironet devices : Note there are two classes for Aironet devices :
@@ -253,8 +253,8 @@ This class is for devices running Cisco IOS software (newer)
=back =back
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 $aironet = new SNMP::Info::Layer3::Aironet(...); my $aironet = new SNMP::Info::Layer3::Aironet(...);
@@ -270,14 +270,14 @@ a more specific class using the method above.
=over =over
=item AWCVX-MIB =item F<AWCVX-MIB>
=item IEEE802dot11-MIB =item F<IEEE802dot11-MIB>
=back =back
These MIBs are now included in the v2.tar.gz archive available from ftp.cisco.com. Make sure you These MIBs are now included in the v2.tar.gz archive available from
have a current version. ftp.cisco.com. Make sure you have a current version.
=head1 GLOBALS =head1 GLOBALS
@@ -289,13 +289,13 @@ These are methods that return scalar value from SNMP
Gives the admin duplex setting for the Ethernet Port. Gives the admin duplex setting for the Ethernet Port.
B<awcEtherDuplex.0> C<awcEtherDuplex.0>
=item $aironet->mac() =item $aironet->mac()
Gives the MAC Address of the wireless side Gives the MAC Address of the wireless side
B<dot11StationID.2> C<dot11StationID.2>
=item $aironet->os() =item $aironet->os()
@@ -326,18 +326,18 @@ to a hash.
=item $aironet->bp_index() =item $aironet->bp_index()
Takes the bp_index() value from SNMP::Info::Bridge and overrides the wireless port Takes the bp_index() value from SNMP::Info::Bridge and overrides the wireless
to be assigned to the transparent bridge port (port 0) port to be assigned to the transparent bridge port (port 0)
=item $aironet->fw_mac() =item $aironet->fw_mac()
Adds static table entries from bs_mac() to port 0 so that wireless MAC addresses will Adds static table entries from bs_mac() to port 0 so that wireless MAC
be reported. Forwarding table entries for port 0 are removed. addresses will be reported. Forwarding table entries for port 0 are removed.
=item $aironet->fw_port() =item $aironet->fw_port()
Adds the static table port mappings to the forwarding table port mappings by adding Adds the static table port mappings to the forwarding table port mappings by
bs_port() to fw_port() adding bs_port() to fw_port()
=item $aironet->i_duplex() =item $aironet->i_duplex()
@@ -361,29 +361,29 @@ Ignores ports that are of type ``rptr'' and ``lo''.
Gives the default MAC address of each interface. Gives the default MAC address of each interface.
B<awcIfDefaultPhyAddress> C<awcIfDefaultPhyAddress>
=item $aironet->awc_mac() =item $aironet->awc_mac()
Gives the actual MAC address of each interface. Gives the actual MAC address of each interface.
B<awcIfPhyAddress> C<awcIfPhyAddress>
=item $aironet->awc_ip() =item $aironet->awc_ip()
Gives the IP Address assigned to each interface. Gives the IP Address assigned to each interface.
B<awcIfIpAddress> C<awcIfIpAddress>
=item $aironet->awc_netmask() =item $aironet->awc_netmask()
Gives the NetMask for each interface. Gives the NetMask for each interface.
B<awcIfIpNetMask> C<awcIfIpNetMask>
=item $aironet->awc_msdu() =item $aironet->awc_msdu()
B<awcIfMSDUMaxLength> C<awcIfMSDUMaxLength>
=back =back

View File

@@ -1,8 +1,7 @@
# SNMP::Info::Layer3::AlteonAD # SNMP::Info::Layer3::AlteonAD
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2004 Eric Miller # Copyright (c) 2008 Eric Miller
# All Rights Reserved # All Rights Reserved
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@@ -10,26 +9,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::AlteonAD; package SNMP::Info::Layer3::AlteonAD;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
@@ -340,7 +340,6 @@ Eric Miller
my $alteon = new SNMP::Info( my $alteon = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -355,8 +354,8 @@ Eric Miller
Abstraction subclass for Nortel Alteon Series Layer 2-7 load balancing switches Abstraction subclass for Nortel Alteon Series Layer 2-7 load balancing switches
and Nortel BladeCenter Layer2-3 GbE Switch Modules. and Nortel BladeCenter Layer2-3 GbE Switch Modules.
For speed or debugging purposes you can call the subclass directly, but not after For speed or debugging purposes you can call the subclass directly, but not
determining a more specific class using the method above. after determining a more specific class using the method above.
my $alteon = new SNMP::Info::Layer3::AlteonAD(...); my $alteon = new SNMP::Info::Layer3::AlteonAD(...);
@@ -372,19 +371,19 @@ determining a more specific class using the method above.
=over =over
=item ALTEON-ROOT-MIB =item F<ALTEON-ROOT-MIB>
=item ALTEON-TIGON-SWITCH-MIB =item F<ALTEON-TIGON-SWITCH-MIB>
=item ALTEON-TS-PHYSICAL-MIB =item F<ALTEON-TS-PHYSICAL-MIB>
=item ALTEON-TS-NETWORK-MIB =item F<ALTEON-TS-NETWORK-MIB>
=item ALTEON-CS-PHYSICAL-MIB =item F<ALTEON-CS-PHYSICAL-MIB>
=item ALTEON-CHEETAH-SWITCH-MIB =item F<ALTEON-CHEETAH-SWITCH-MIB>
=item ALTEON-CHEETAH-NETWORK-MIB =item F<ALTEON-CHEETAH-NETWORK-MIB>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
@@ -400,8 +399,8 @@ These are methods that return scalar value from SNMP
=item $alteon->model() =item $alteon->model()
Returns model type. Checks $alteon->id() against the ALTEON-ROOT-MIB and Returns model type. Checks $alteon->id() against the F<ALTEON-ROOT-MIB> and
then parses out aceswitch, replaces acedirector with AD, and replaces then parses out C<aceswitch>, replaces C<acedirector> with AD, and replaces
copperModule/fiberModule with BladeCenter GbESM. copperModule/fiberModule with BladeCenter GbESM.
=item $alteon->vendor() =item $alteon->vendor()
@@ -414,23 +413,23 @@ Returns 'alteon'
=item $alteon->os_ver() =item $alteon->os_ver()
Returns the software version reported by B<agSoftwareVersion> Returns the software version reported by C<agSoftwareVersion>
=item $alteon->tftp_action() =item $alteon->tftp_action()
(B<agTftpAction>) (C<agTftpAction>)
=item $alteon->tftp_host() =item $alteon->tftp_host()
(B<agTftpServer>) (C<agTftpServer>)
=item $alteon->tftp_file() =item $alteon->tftp_file()
(B<agTftpCfgFileName>) (C<agTftpCfgFileName>)
=item $alteon->tftp_result() =item $alteon->tftp_result()
(B<agTftpLastActionStatus>) (C<agTftpLastActionStatus>)
=back =back
@@ -452,7 +451,7 @@ to a hash.
Returns reference to the map between IID and physical port. Returns reference to the map between IID and physical port.
Utilizes description for network interfaces. Ports are determined by Utilizes description for network interfaces. Ports are determined by
formula (ifIndex mod 256). formula (C<ifIndex mod 256>).
=item $alteon->i_duplex() =item $alteon->i_duplex()
@@ -464,12 +463,12 @@ Returns reference to hash. Maps port admin duplexes to IIDs.
=item $alteon->i_vlan() =item $alteon->i_vlan()
Returns a mapping between ifIndex and the PVID or default VLAN. Returns a mapping between C<ifIndex> and the PVID or default VLAN.
=item $alteon->i_vlan_membership() =item $alteon->i_vlan_membership()
Returns reference to hash of arrays: key = ifIndex, value = array of VLAN IDs. Returns reference to hash of arrays: key = C<ifIndex>, value = array of VLAN
These are the VLANs which are members of the egress list for the port. IDs. These are the VLANs which are members of the egress list for the port.
Example: Example:
my $interfaces = $alteon->interfaces(); my $interfaces = $alteon->interfaces();
@@ -487,11 +486,12 @@ Human-entered name for vlans.
=item $alteon->i_name() =item $alteon->i_name()
Maps (B<agPortCurCfgPortName>) to port and returns the human set port name if exists. Maps (C<agPortCurCfgPortName>) to port and returns the human set port name if
exists.
=item $alteon->bp_index() =item $alteon->bp_index()
Returns a mapping between ifIndex and the Bridge Table. Returns a mapping between C<ifIndex> and the Bridge Table.
=back =back

View File

@@ -1,8 +1,7 @@
# SNMP::Info::Layer3::BayRS # SNMP::Info::Layer3::BayRS
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2004 Eric Miller, Max Baker # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@@ -10,26 +9,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::BayRS; package SNMP::Info::Layer3::BayRS;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
@@ -1316,7 +1316,6 @@ Eric Miller
my $bayrs = new SNMP::Info( my $bayrs = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -1330,8 +1329,8 @@ Eric Miller
Abstraction subclass for routers running Nortel BayRS. Abstraction subclass for routers running Nortel BayRS.
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 $bayrs = new SNMP::Info::Layer3::BayRS(...); my $bayrs = new SNMP::Info::Layer3::BayRS(...);
@@ -1351,15 +1350,15 @@ a more specific class using the method above.
=over =over
=item Wellfleet-HARDWARE-MIB =item F<Wellfleet-HARDWARE-MIB>
=item Wellfleet-MODULE-MIB =item F<Wellfleet-MODULE-MIB>
=item Wellfleet-OSPF-MIB =item F<Wellfleet-OSPF-MIB>
=item Wellfleet-DOT1QTAG-CONFIG-MIB =item F<Wellfleet-DOT1QTAG-CONFIG-MIB>
=item Wellfleet-CSMACD-MIB =item F<Wellfleet-CSMACD-MIB>
=back =back
@@ -1382,22 +1381,22 @@ These are methods that return scalar value from SNMP
Returns the model of the BayRS router. Will translate between the MIB model and Returns the model of the BayRS router. Will translate between the MIB model and
the common model with this map : the common model with this map :
%MODEL_MAP = ( C<%MODEL_MAP = (
'acefn' => 'FN', 'acefn' => 'FN',
'aceln' => 'LN', 'aceln' => 'LN',
'acecn' => 'CN', 'acecn' => 'CN',
'afn' => 'AFN', 'afn' => 'AFN',
'in' => 'IN', 'in' => 'IN',
'an' => 'AN', 'an' => 'AN',
'arn' => 'ARN', 'arn' => 'ARN',
'sys5000' => '5000', 'sys5000' => '5000',
'freln' => 'BLN', 'freln' => 'BLN',
'frecn' => 'BCN', 'frecn' => 'BCN',
'frerbln' => 'BLN-2', 'frerbln' => 'BLN-2',
'asn' => 'ASN', 'asn' => 'ASN',
'asnzcable' => 'ASN-Z', 'asnzcable' => 'ASN-Z',
'asnbcable' => 'ASN-B', 'asnbcable' => 'ASN-B',
); );>
=item $bayrs->vendor() =item $bayrs->vendor()
@@ -1409,17 +1408,17 @@ Returns 'bayrs'
=item $bayrs->os_ver() =item $bayrs->os_ver()
Returns the software version extracted from B<sysDescr> Returns the software version extracted from C<sysDescr>
=item $bayrs->serial() =item $bayrs->serial()
Returns (B<wfHwBpSerialNumber>) after conversion to ASCII decimal Returns (C<wfHwBpSerialNumber>) after conversion to ASCII decimal
=item $bayrs->root_ip() =item $bayrs->root_ip()
Returns the primary IP used to communicate with the router. Returns the primary IP used to communicate with the router.
Returns the first found: CLIP (CircuitLess IP), (B<wfOspfRouterId>), or Returns the first found: CLIP (CircuitLess IP), (C<wfOspfRouterId>), or
undefined. undefined.
=back =back
@@ -1458,7 +1457,7 @@ maintained. Otherwise the port is the interface description.
=item $bayrs->i_name() =item $bayrs->i_name()
Returns (B<ifDescr>) along with VLAN name (B<wfDot1qTagCfgVlanName>) for VLAN Returns (C<ifDescr>) along with VLAN name (C<wfDot1qTagCfgVlanName>) for VLAN
interfaces. interfaces.
=item $bayrs->i_duplex() =item $bayrs->i_duplex()
@@ -1477,10 +1476,10 @@ Returns reference to hash. Maps port VLAN ID to IIDs.
=back =back
=head2 Pseudo ENTITY-MIB information =head2 Pseudo F<ENTITY-MIB> information
These methods emulate ENTITY-MIB Physical Table methods using These methods emulate F<ENTITY-MIB> Physical Table methods using
Wellfleet-HARDWARE-MIB and Wellfleet-MODULE-MIB. F<Wellfleet-HARDWARE-MIB> and F<Wellfleet-MODULE-MIB>.
=over =over
@@ -1521,8 +1520,8 @@ entities sharing the same parent.
=item $bayrs->e_type() =item $bayrs->e_type()
Returns reference to hash. Key: IID, Value: Type of component/sub-component Returns reference to hash. Key: IID, Value: Type of component/sub-component
as defined in Wellfleet-HARDWARE-MIB for processors and link moduels or as defined in F<Wellfleet-HARDWARE-MIB> for processors and link modules or
Wellfleet-MODULE-MIB for hardware modules. F<Wellfleet-MODULE-MIB> for hardware modules.
=item $bayrs->e_fwver() =item $bayrs->e_fwver()

View File

@@ -1,8 +1,8 @@
# SNMP::Info::Layer3::C3550 # SNMP::Info::Layer3::C3550
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# Copyright (c) 2003, Regents of the University of California # Copyright (c) 2004 Regents of the University of California
# All rights reserved. # All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@@ -10,27 +10,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::C3550; package SNMP::Info::Layer3::C3550;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -250,9 +250,9 @@ 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 These devices run IOS but have some of the same characteristics as the
Catalyst WS-C family (5xxx,6xxx). For example, forwarding tables are held in Catalyst WS-C family (5xxx,6xxx). For example, forwarding tables are held in
VLANs, and extened interface information is gleened from CISCO-SWITCH-MIB. VLANs, and extended interface information is gleaned from F<CISCO-SWITCH-MIB>.
For speed or debugging purposes you can call the subclass directly, but not For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above. after determining a more specific class using the method above.
@@ -291,7 +291,8 @@ See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoPower/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoPower/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoPortSecurity/"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.
@@ -324,7 +325,7 @@ Will take the translated model number and try to format it better.
=item $c3550->ports() =item $c3550->ports()
Trys to cull the number of ports from the model number. Tries to cull the number of ports from the model number.
=back =back
@@ -375,7 +376,7 @@ Returns reference to hash of iid to current link duplex setting.
Software version 12.1(22)EA1a or greater returns duplex based upon the Software version 12.1(22)EA1a or greater returns duplex based upon the
result of $c3550->el_duplex(). Otherwise it uses the result of result of $c3550->el_duplex(). Otherwise it uses the result of
the call to CiscoStack i_duplex(). the call to CiscoStack::i_duplex().
See L<SNMP::Info::Etherlike> for el_duplex() method and See L<SNMP::Info::Etherlike> for el_duplex() method and
L<SNMP::Info::CiscoStack> for its i_duplex() method. L<SNMP::Info::CiscoStack> for its i_duplex() method.
@@ -386,17 +387,17 @@ Returns reference to hash of iid to administrative duplex setting.
Software version 12.1(22)EA1a or greater returns duplex based upon the Software version 12.1(22)EA1a or greater returns duplex based upon the
result of $c3550->p_duplex(). Otherwise it uses the result of result of $c3550->p_duplex(). Otherwise it uses the result of
the call to CiscoStack i_duplex(). the call to CiscoStack::i_duplex().
See L<SNMP::Info::CiscoStack> for its i_duplex() and p_duplex() methods. See L<SNMP::Info::CiscoStack> for its i_duplex() and p_duplex() methods.
=item $c3550->set_i_duplex_admin(duplex, ifIndex) =item $c3550->set_i_duplex_admin(duplex, ifIndex)
Sets port duplex, must be supplied with duplex and port ifIndex. Sets port duplex, must be supplied with duplex and port C<ifIndex>.
Speed choices are 'auto', 'half', 'full'. Speed choices are 'auto', 'half', 'full'.
Crosses $c3550->p_port() with $c3550->p_duplex() to utilize port ifIndex. Crosses $c3550->p_port() with $c3550->p_duplex() to utilize port C<ifIndex>.
Example: Example:
my %if_map = reverse %{$c3550->interfaces()}; my %if_map = reverse %{$c3550->interfaces()};
@@ -415,7 +416,8 @@ See documentation in L<SNMP::Info::CiscoPower/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity =head2 Table Methods imported from SNMP::Info::CiscoPortSecurity
See documentation in L<SNMP::Info::CiscoPortSecurity/"TABLE METHODS"> for details. 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

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer3::C4000 # SNMP::Info::Layer3::C4000
# Bill Fenner # $Id$
# #
# Copyright (c) 2006 Bill Fenner # Copyright (c) 2008 Bill Fenner
# All rights reserved. # All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@@ -9,26 +9,26 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the Author, nor # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::C4000; package SNMP::Info::Layer3::C4000;
# $Id$
use strict; use strict;
@@ -44,7 +44,7 @@ use SNMP::Info::MAU;
use SNMP::Info::Layer3; 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.07'; $VERSION = '1.09';
@SNMP::Info::Layer3::C4000::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP @SNMP::Info::Layer3::C4000::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP
SNMP::Info::CiscoStats SNMP::Info::CiscoImage SNMP::Info::CiscoStats SNMP::Info::CiscoImage
SNMP::Info::CiscoPortSecurity SNMP::Info::CiscoPortSecurity
@@ -197,7 +197,8 @@ 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::CiscoPortSecurity/"Required MIBs"> for its own MIB
requirements.
See L<SNMP::Info::CiscoConfig/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoConfig/"Required MIBs"> for its own MIB requirements.
@@ -266,7 +267,8 @@ See documentation in L<SNMP::Info::CiscoImage/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity =head2 Table Methods imported from SNMP::Info::CiscoPortSecurity
See documentation in L<SNMP::Info::CiscoPortSecurity/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoPortSecurity/"TABLE METHODS"> for
details.
=head2 Table Methods imported from SNMP::Info::CiscoConfig =head2 Table Methods imported from SNMP::Info::CiscoConfig

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer3::C6500 # SNMP::Info::Layer3::C6500
# Max Baker # $Id$
# #
# Copyright (c) 2003,2004,2005 Max Baker # Copyright (c) 2008 Max Baker
# All rights reserved. # All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@@ -9,26 +9,26 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the Author, nor # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::C6500; package SNMP::Info::Layer3::C6500;
# $Id$
use strict; use strict;
@@ -44,7 +44,7 @@ use SNMP::Info::CiscoPower;
use SNMP::Info::Layer3; 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.07'; $VERSION = '1.09';
@SNMP::Info::Layer3::C6500::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CiscoStack @SNMP::Info::Layer3::C6500::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CiscoStack
SNMP::Info::CDP SNMP::Info::CiscoStats SNMP::Info::CDP SNMP::Info::CiscoStats
SNMP::Info::CiscoImage SNMP::Info::CiscoImage
@@ -223,9 +223,9 @@ 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 These devices run IOS but have some of the same characteristics as the Catalyst
WS-C family (5xxx). For example, forwarding tables are held in VLANs, and WS-C family (5xxx). For example, forwarding tables are held in VLANs, and
extended interface information is gleened from CISCO-SWITCH-MIB. extended interface information is gleaned from F<CISCO-SWITCH-MIB>.
For speed or debugging purposes you can call the subclass directly, but not For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above. after determining a more specific class using the method above.
@@ -272,7 +272,8 @@ 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::CiscoPortSecurity/"Required MIBs"> for its own MIB
requirements.
See L<SNMP::Info::CiscoConfig/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoConfig/"Required MIBs"> for its own MIB requirements.
@@ -345,7 +346,7 @@ Returns reference to hash of iid to current link duplex setting.
Newer software versions return duplex based upon the result of Newer software versions return duplex based upon the result of
$c6500->el_duplex(). Otherwise it uses the result of the call to $c6500->el_duplex(). Otherwise it uses the result of the call to
CiscoStack i_duplex(). CiscoStack::i_duplex().
See L<SNMP::Info::Etherlike> for el_duplex() method and See L<SNMP::Info::Etherlike> for el_duplex() method and
L<SNMP::Info::CiscoStack> for its i_duplex() method. L<SNMP::Info::CiscoStack> for its i_duplex() method.
@@ -356,17 +357,17 @@ Returns reference to hash of iid to administrative duplex setting.
Newer software versions return duplex based upon the result of Newer software versions return duplex based upon the result of
$c6500->p_duplex(). Otherwise it uses the result of the call to $c6500->p_duplex(). Otherwise it uses the result of the call to
CiscoStack i_duplex(). CiscoStack::i_duplex().
See L<SNMP::Info::CiscoStack> for its i_duplex() and p_duplex() methods. See L<SNMP::Info::CiscoStack> for its i_duplex() and p_duplex() methods.
=item $c6500->set_i_duplex_admin(duplex, ifIndex) =item $c6500->set_i_duplex_admin(duplex, ifIndex)
Sets port duplex, must be supplied with duplex and port ifIndex. Sets port duplex, must be supplied with duplex and port C<ifIndex>.
Speed choices are 'auto', 'half', 'full'. Speed choices are 'auto', 'half', 'full'.
Crosses $c6500->p_port() with $c6500->p_duplex() to utilize port ifIndex. Crosses $c6500->p_port() with $c6500->p_duplex() to utilize port C<ifIndex>.
Example: Example:
my %if_map = reverse %{$c6500->interfaces()}; my %if_map = reverse %{$c6500->interfaces()};
@@ -397,7 +398,8 @@ See documentation in L<SNMP::Info::CiscoImage/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity =head2 Table Methods imported from SNMP::Info::CiscoPortSecurity
See documentation in L<SNMP::Info::CiscoPortSecurity/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoPortSecurity/"TABLE METHODS"> for
details.
=head2 Table Methods imported from SNMP::Info::CiscoConfig =head2 Table Methods imported from SNMP::Info::CiscoConfig

View File

@@ -1,33 +1,33 @@
# SNMP::Info::Layer3::Cisco # SNMP::Info::Layer3::Cisco
# Max Baker # $Id$
# #
# Copyright (c) 2004 Max Baker # Copyright (c) 2008 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::Cisco; package SNMP::Info::Layer3::Cisco;
# $Id$
use strict; use strict;
@@ -43,7 +43,7 @@ use SNMP::Info::CiscoPower;
use SNMP::Info::Layer3; 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.07'; $VERSION = '1.09';
@SNMP::Info::Layer3::Cisco::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP @SNMP::Info::Layer3::Cisco::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP
SNMP::Info::CiscoStats SNMP::Info::CiscoImage SNMP::Info::CiscoStats SNMP::Info::CiscoImage
SNMP::Info::CiscoRTT SNMP::Info::CiscoQOS SNMP::Info::CiscoRTT SNMP::Info::CiscoQOS
@@ -183,7 +183,7 @@ Subclass for Generic Cisco Routers running IOS
=over =over
=item CISCO-EIGRP-MIB =item F<CISCO-EIGRP-MIB>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
@@ -219,7 +219,7 @@ These are methods that return scalar value from SNMP
=item $cisco->eigrp_id() =item $cisco->eigrp_id()
(B<cEigrpAsRouterId>) (C<cEigrpAsRouterId>)
=back =back
@@ -270,7 +270,7 @@ to a hash.
Returns EIGRP peer IP addresses Returns EIGRP peer IP addresses
(B<cEigrpPeerAddr>) (C<cEigrpPeerAddr>)
=back =back

View File

@@ -1,8 +1,7 @@
# SNMP::Info::Layer3::Contivity # SNMP::Info::Layer3::Contivity
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2004 Eric Miller, Max Baker # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@@ -10,26 +9,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::Contivity; package SNMP::Info::Layer3::Contivity;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
@@ -178,7 +178,6 @@ Eric Miller
my $contivity = new SNMP::Info( my $contivity = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -237,21 +236,21 @@ Returns 'Nortel'
Returns the chassis name. Returns the chassis name.
(B<entPhysicalModelName.1>) (C<entPhysicalModelName.1>)
=item $contivity->os() =item $contivity->os()
Returns 'CES' Returns C<'CES'>
=item $contivity->os_ver() =item $contivity->os_ver()
Returns the software version extracted from (B<sysDescr>). Returns the software version extracted from (C<sysDescr>).
=item $contivity->serial() =item $contivity->serial()
Returns the chassis serial number. Returns the chassis serial number.
(B<entPhysicalSerialNum.1>) (C<entPhysicalSerialNum.1>)
=item $contivity->mac() =item $contivity->mac()

View File

@@ -1,33 +1,34 @@
# SNMP::Info::Layer3::Dell - SNMP Interface to Dell devices # SNMP::Info::Layer3::Dell - SNMP Interface to Dell devices
# Eric Miller # $Id$
# #
# Copyright (c) 2006 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::Dell; package SNMP::Info::Layer3::Dell;
# $Id$
use strict; use strict;
@@ -36,7 +37,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION $DEBUG %GLOBALS %FUNCS $INIT %MIBS %MUNGE/; use vars qw/$VERSION $DEBUG %GLOBALS %FUNCS $INIT %MIBS %MUNGE/;
$VERSION = '1.07'; $VERSION = '1.09';
@SNMP::Info::Layer3::Dell::ISA = qw/SNMP::Info::Layer3 Exporter/; @SNMP::Info::Layer3::Dell::ISA = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::Dell::EXPORT_OK = qw//; @SNMP::Info::Layer3::Dell::EXPORT_OK = qw//;
@@ -240,7 +241,6 @@ Eric Miller
my $dell = new SNMP::Info( my $dell = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 1
@@ -274,13 +274,13 @@ my $dell = new SNMP::Info::Layer3::Dell(...);
=over =over
=item Dell-Vendor-MIB =item F<Dell-Vendor-MIB>
=item RADLAN-Physicaldescription-MIB =item F<RADLAN-Physicaldescription-MIB>
=item RADLAN-rlInterfaces =item F<RADLAN-rlInterfaces>
=item RADLAN-HWENVIROMENT =item F<RADLAN-HWENVIROMENT>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
@@ -296,15 +296,15 @@ These are methods that return scalar value from SNMP
=item $dell->os_ver() =item $dell->os_ver()
(B<productIdentificationVersion>) (C<productIdentificationVersion>)
=item $dell->dell_id_name() =item $dell->dell_id_name()
(B<productIdentificationDisplayName>) (C<productIdentificationDisplayName>)
=item $dell->model() =item $dell->model()
Returns model type. Returns numeric from (B<productIdentificationDisplayName>) Returns model type. Returns numeric from (C<productIdentificationDisplayName>)
if available, otherwise if returns description(). if available, otherwise if returns description().
=item $dell->vendor() =item $dell->vendor()
@@ -325,7 +325,7 @@ id(). Defaults to 'dlink'.
=item $dell->serial() =item $dell->serial()
Returns serial number. Returns (B<rlPhdUnitGenParamSerialNum>) if available, Returns serial number. Returns (C<rlPhdUnitGenParamSerialNum>) if available,
otherwise uses the Layer3 serial method. otherwise uses the Layer3 serial method.
=back =back
@@ -339,41 +339,41 @@ See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
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 RADLAN Interface Table (B<swIfTable>) =head2 RADLAN Interface Table (C<swIfTable>)
=over =over
=item $dell->dell_duplex_admin() =item $dell->dell_duplex_admin()
(B<swIfDuplexAdminMode>) (C<swIfDuplexAdminMode>)
=item $dell->dell_duplex() =item $dell->dell_duplex()
(B<swIfDuplexOperMode>) (C<swIfDuplexOperMode>)
=item $dell->dell_tag_mode() =item $dell->dell_tag_mode()
(B<swIfTaggedMode>) (C<swIfTaggedMode>)
=item $dell->dell_i_type() =item $dell->dell_i_type()
(B<swIfType>) (C<swIfType>)
=item $dell->dell_fc_admin() =item $dell->dell_fc_admin()
(B<swIfFlowControlMode>) (C<swIfFlowControlMode>)
=item $dell->dell_speed_admin() =item $dell->dell_speed_admin()
(B<swIfSpeedAdminMode>) (C<swIfSpeedAdminMode>)
=item $dell->dell_auto() =item $dell->dell_auto()
(B<swIfSpeedDuplexAutoNegotiation>) (C<swIfSpeedDuplexAutoNegotiation>)
=item $dell->dell_fc() =item $dell->dell_fc()
(B<swIfOperFlowControlMode>) (C<swIfOperFlowControlMode>)
=back =back

View File

@@ -1,30 +1,34 @@
# SNMP::Info::Layer3::Enterasys - SNMP Interface to Enterasys devices # SNMP::Info::Layer3::Enterasys - SNMP Interface to Enterasys devices
# Eric Miller # $Id$
# #
# Copyright (c) 2007 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::Enterasys; package SNMP::Info::Layer3::Enterasys;
# $Id$
use strict; use strict;
@@ -36,7 +40,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION $DEBUG %GLOBALS %FUNCS $INIT %MIBS %MUNGE/; use vars qw/$VERSION $DEBUG %GLOBALS %FUNCS $INIT %MIBS %MUNGE/;
$VERSION = '1.07'; $VERSION = '1.09';
@SNMP::Info::Layer3::Enterasys::ISA = qw/SNMP::Info::MAU SNMP::Info::LLDP @SNMP::Info::Layer3::Enterasys::ISA = qw/SNMP::Info::MAU SNMP::Info::LLDP
SNMP::Info::CDP SNMP::Info::Layer3 SNMP::Info::CDP SNMP::Info::Layer3
@@ -317,7 +321,6 @@ Eric Miller
my $enterasys = new SNMP::Info( my $enterasys = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 1
@@ -356,7 +359,7 @@ my $enterasys = new SNMP::Info::Layer3::Enterasys(...);
=over =over
=item ENTERASYS-OIDS-MIB =item F<ENTERASYS-OIDS-MIB>
=back =back
@@ -378,7 +381,7 @@ These are methods that return scalar value from SNMP
=item $enterasys->model() =item $enterasys->model()
Returns model type. Checks $enterasys->id() against the ENTERASYS-OIDS-MIB. Returns model type. Checks $enterasys->id() against the F<ENTERASYS-OIDS-MIB>.
=item $enterasys->vendor() =item $enterasys->vendor()
@@ -392,7 +395,7 @@ Returns enterasys
Returns base mac Returns base mac
(B<dot1dBaseBridgeAddress>) (C<dot1dBaseBridgeAddress>)
=back =back
@@ -439,20 +442,21 @@ See documentation for mau_i_duplex() in L<SNMP::Info::MAU/"TABLE METHODS">.
=item $enterasys->i_duplex_admin() =item $enterasys->i_duplex_admin()
See documentation for mau_i_duplex_admin() in L<SNMP::Info::MAU/"TABLE METHODS">. See documentation for mau_i_duplex_admin() in
L<SNMP::Info::MAU/"TABLE METHODS">.
=back =back
=head2 Topology information =head2 Topology information
Based upon the firmware version Enterasys devices may support Cabletron Based upon the firmware version Enterasys devices may support Cabletron
Discovery Protocol (CTRON-CDP), Cisco Discovery Protocol (CDP), Link Layer Discovery Protocol (CTRON CDP), Cisco Discovery Protocol (CDP), Link Layer
Discovery Protocol (LLDP), or all. This module currently supports CDP and Discovery Protocol (LLDP), or all. This module currently supports CDP and
LLDP, but not CTRON-CDP. These methods will query both CDP and LLDP and LLDP, but not CTRON CDP. These methods will query both CDP and LLDP and
return the combination of all information. As a result, there may be return the combination of all information. As a result, there may be
identical topology information returned from the two protocols identical topology information returned from the two protocols
causing duplicate entries. It is the calling program's responsibility to causing duplicate entries. It is the calling program's responsibility to
identify any duplicate entries and de-duplicate if necessary. identify any duplicate entries and remove duplicates if necessary.
=over =over

View File

@@ -1,8 +1,7 @@
# SNMP::Info::Layer3::Extreme - SNMP Interface to Extreme devices # SNMP::Info::Layer3::Extreme - SNMP Interface to Extreme devices
# Eric Miller # $Id$
# Bill Fenner
# #
# Copyright (c) 2005 Eric Miller # Copyright (c) 2008 Eric Miller
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -12,26 +11,26 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::Extreme; package SNMP::Info::Layer3::Extreme;
# $Id$
use strict; use strict;
@@ -41,7 +40,7 @@ use SNMP::Info::MAU;
use vars qw/$VERSION $DEBUG %GLOBALS %FUNCS $INIT %MIBS %MUNGE/; use vars qw/$VERSION $DEBUG %GLOBALS %FUNCS $INIT %MIBS %MUNGE/;
$VERSION = '1.07'; $VERSION = '1.09';
@SNMP::Info::Layer3::Extreme::ISA = qw/SNMP::Info::Layer3 SNMP::Info::MAU Exporter/; @SNMP::Info::Layer3::Extreme::ISA = qw/SNMP::Info::Layer3 SNMP::Info::MAU Exporter/;
@SNMP::Info::Layer3::Extreme::EXPORT_OK = qw//; @SNMP::Info::Layer3::Extreme::EXPORT_OK = qw//;
@@ -499,7 +498,6 @@ Eric Miller, Bill Fenner
my $extreme = new SNMP::Info( my $extreme = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 1
@@ -515,8 +513,8 @@ Eric Miller, Bill Fenner
Provides abstraction to the configuration information obtainable from an Provides abstraction to the configuration information obtainable from an
Extreme device through SNMP. Extreme device through SNMP.
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 $extreme = new SNMP::Info::Layer3::Extreme(...); my $extreme = new SNMP::Info::Layer3::Extreme(...);
@@ -534,13 +532,13 @@ my $extreme = new SNMP::Info::Layer3::Extreme(...);
=over =over
=item EXTREME-BASE-MIB =item F<EXTREME-BASE-MIB>
=item EXTREME-SYSTEM-MIB =item F<EXTREME-SYSTEM-MIB>
=item EXTREME-FDB-MIB =item F<EXTREME-FDB-MIB>
=item EXTREME-VLAN-MIB =item F<EXTREME-VLAN-MIB>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
@@ -554,13 +552,9 @@ These are methods that return scalar value from SNMP
=over =over
#=item $extreme->bulkwalk_no
#
#Return C<1>. Bulkwalk is currently turned off for this class.
=item $extreme->model() =item $extreme->model()
Returns model type. Checks $extreme->id() against the EXTREME-BASE-MIB. Returns model type. Checks $extreme->id() against the F<EXTREME-BASE-MIB>.
=item $extreme->vendor() =item $extreme->vendor()
@@ -574,31 +568,31 @@ Returns extreme
Returns serial number Returns serial number
(B<extremeSystemID>) (C<extremeSystemID>)
=item $extreme->temp() =item $extreme->temp()
Returns system temperature Returns system temperature
(B<extremeCurrentTemperature>) (C<extremeCurrentTemperature>)
=item $extreme->ps1_status() =item $extreme->ps1_status()
Returns status of power supply 1 Returns status of power supply 1
(B<extremePowerSupplyStatus.1>) (C<extremePowerSupplyStatus.1>)
=item $extreme->fan() =item $extreme->fan()
Returns fan status Returns fan status
(B<extremeFanOperational.1>) (C<extremeFanOperational.1>)
=item $extreme->mac() =item $extreme->mac()
Returns base mac Returns base mac
(B<dot1dBaseBridgeAddress>) (C<dot1dBaseBridgeAddress>)
=back =back
@@ -627,26 +621,27 @@ to a hash.
=item $extreme->fw_mac() =item $extreme->fw_mac()
(B<extremeFdbMacFdbMacAddress>) (C<extremeFdbMacFdbMacAddress>)
=item $extreme->fw_port() =item $extreme->fw_port()
(B<extremeFdbMacFdbPortIfIndex>) (C<extremeFdbMacFdbPortIfIndex>)
=item $extreme->fw_status() =item $extreme->fw_status()
(B<extremeFdbMacFdbStatus>) (C<extremeFdbMacFdbStatus>)
=item $extreme->i_vlan() =item $extreme->i_vlan()
Returns a mapping between ifIndex and the VLAN. Returns a mapping between C<ifIndex> and the VLAN.
=item $stack->bp_index() =item $stack->bp_index()
Returns reference to hash of bridge port table entries map back to interface identifier (iid) Returns reference to hash of bridge port table entries map back to interface
identifier (iid)
Returns (B<ifIndex>) for both key and value since we're using EXTREME-FDB-MIB Returns (C<ifIndex>) for both key and value since we're using F<EXTREME-FDB-MIB>
rather than BRIDGE-MIB. rather than F<BRIDGE-MIB>.
=back =back
@@ -658,10 +653,12 @@ See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details.
=over
=item $extreme->set_i_vlan ( vlan, ifIndex ) =item $extreme->set_i_vlan ( vlan, ifIndex )
Changes an access (untagged) port VLAN, must be supplied with the numeric Changes an access (untagged) port VLAN, must be supplied with the numeric
VLAN ID and port ifIndex. This method should only be used on end station VLAN ID and port C<ifIndex>. This method should only be used on end station
(non-trunk) ports. (non-trunk) ports.
Example: Example:
@@ -672,7 +669,7 @@ VLAN ID and port ifIndex. This method should only be used on end station
=item $extreme->set_i_pvid ( pvid, ifIndex ) =item $extreme->set_i_pvid ( pvid, ifIndex )
Sets port default VLAN, must be supplied with the numeric VLAN ID and Sets port default VLAN, must be supplied with the numeric VLAN ID and
port ifIndex. This method should only be used on trunk ports. port C<ifIndex>. This method should only be used on trunk ports.
Example: Example:
my %if_map = reverse %{$extreme->interfaces()}; my %if_map = reverse %{$extreme->interfaces()};
@@ -682,7 +679,7 @@ port ifIndex. This method should only be used on trunk ports.
=item $extreme->set_add_i_vlan_tagged ( vlan, ifIndex ) =item $extreme->set_add_i_vlan_tagged ( vlan, ifIndex )
Adds the VLAN to the enabled VLANs list of the port, must be supplied with the Adds the VLAN to the enabled VLANs list of the port, must be supplied with the
numeric VLAN ID and port ifIndex. numeric VLAN ID and port C<ifIndex>.
Example: Example:
my %if_map = reverse %{$extreme->interfaces()}; my %if_map = reverse %{$extreme->interfaces()};
@@ -692,11 +689,13 @@ numeric VLAN ID and port ifIndex.
=item $extreme->set_remove_i_vlan_tagged ( vlan, ifIndex ) =item $extreme->set_remove_i_vlan_tagged ( vlan, ifIndex )
Removes the VLAN from the enabled VLANs list of the port, must be supplied Removes the VLAN from the enabled VLANs list of the port, must be supplied
with the numeric VLAN ID and port ifIndex. with the numeric VLAN ID and port C<ifIndex>.
Example: Example:
my %if_map = reverse %{$extreme->interfaces()}; my %if_map = reverse %{$extreme->interfaces()};
$extreme->set_remove_i_vlan_tagged('2', $if_map{'FastEthernet0/1'}) $extreme->set_remove_i_vlan_tagged('2', $if_map{'FastEthernet0/1'})
or die "Couldn't add port to egress list. ",$extreme->error(1); or die "Couldn't add port to egress list. ",$extreme->error(1);
=back
=cut =cut

View File

@@ -1,7 +1,7 @@
# SNMP::Info::Layer3::Foundry - SNMP Interface to Foundry devices # SNMP::Info::Layer3::Foundry - SNMP Interface to Foundry devices
# Max Baker # $Id$
# #
# Copyright (c) 2004,2005 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,26 +11,26 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::Foundry; package SNMP::Info::Layer3::Foundry;
# $Id$
use strict; use strict;
@@ -41,7 +41,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION $DEBUG %GLOBALS %FUNCS $INIT %MIBS %MUNGE/; use vars qw/$VERSION $DEBUG %GLOBALS %FUNCS $INIT %MIBS %MUNGE/;
$VERSION = '1.07'; $VERSION = '1.09';
@SNMP::Info::Layer3::Foundry::ISA = qw/SNMP::Info::FDP SNMP::Info::LLDP @SNMP::Info::Layer3::Foundry::ISA = qw/SNMP::Info::FDP SNMP::Info::LLDP
SNMP::Info::Layer3 Exporter/; SNMP::Info::Layer3 Exporter/;
@@ -409,7 +409,6 @@ Max Baker
my $foundry = new SNMP::Info( my $foundry = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 1
@@ -445,11 +444,11 @@ after determining a more specific class using the method above.
=over =over
=item FOUNDRY-SN-ROOT-MIB =item F<FOUNDRY-SN-ROOT-MIB>
=item FOUNDRY-SN-AGENT-MIB =item F<FOUNDRY-SN-AGENT-MIB>
=item FOUNDRY-SN-SWITCH-GROUP-MIB =item F<FOUNDRY-SN-SWITCH-GROUP-MIB>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
@@ -469,8 +468,8 @@ These are methods that return scalar value from SNMP
=item $foundry->model() =item $foundry->model()
Returns model type. Checks $foundry->id() against the FOUNDRY-SN-ROOT-MIB Returns model type. Checks $foundry->id() against the F<FOUNDRY-SN-ROOT-MIB>
and removes 'sn'. EdgeIron models determined through ENTITY-MIB. and removes 'C<sn>'. EdgeIron models determined through F<ENTITY-MIB>.
=item $foundry->vendor() =item $foundry->vendor()
@@ -488,13 +487,13 @@ Returns the software version
Returns MAC Address of root port. Returns MAC Address of root port.
(B<ifPhysAddress.1>) (C<ifPhysAddress.1>)
=item $foundry->chassis() =item $foundry->chassis()
Returns Chassis type. Returns Chassis type.
(B<entPhysicalDescr.1>) (C<entPhysicalDescr.1>)
=item $foundry->serial() =item $foundry->serial()
@@ -504,25 +503,25 @@ Returns serial number of device.
Returns the chassis temperature Returns the chassis temperature
(B<snChasActualTemperature>) (C<snChasActualTemperature>)
=item $foundry->ps1_type() =item $foundry->ps1_type()
Returns the Description for the power supply Returns the Description for the power supply
(B<snChasPwrSupplyDescription.1>) (C<snChasPwrSupplyDescription.1>)
=item $foundry->ps1_status() =item $foundry->ps1_status()
Returns the status of the power supply. Returns the status of the power supply.
(B<snChasPwrSupplyOperStatus.1>) (C<snChasPwrSupplyOperStatus.1>)
=item $foundry->fan() =item $foundry->fan()
Returns the status of the chassis fan. Returns the status of the chassis fan.
(B<snChasFanOperStatus.1>) (C<snChasFanOperStatus.1>)
=back =back
@@ -565,7 +564,7 @@ Crosses $foundry->sw_duplex() with $foundry->sw_index()
=back =back
=head2 Foundry Switch Port Information Table (B<snSwPortIfTable>) =head2 Foundry Switch Port Information Table (C<snSwPortIfTable>)
=over =over
@@ -573,25 +572,25 @@ Crosses $foundry->sw_duplex() with $foundry->sw_index()
Returns reference to hash. Maps Table to Interface IID. Returns reference to hash. Maps Table to Interface IID.
(B<snSwPortIfIndex>) (C<snSwPortIfIndex>)
=item $foundry->sw_duplex() =item $foundry->sw_duplex()
Returns reference to hash. Current duplex status for switch ports. Returns reference to hash. Current duplex status for switch ports.
(B<snSwPortInfoChnMode>) (C<snSwPortInfoChnMode>)
=item $foundry->sw_type() =item $foundry->sw_type()
Returns reference to hash. Current Port Type . Returns reference to hash. Current Port Type .
(B<snSwPortInfoMediaType>) (C<snSwPortInfoMediaType>)
=item $foundry->sw_speed() =item $foundry->sw_speed()
Returns reference to hash. Current Port Speed. Returns reference to hash. Current Port Speed.
(B<snSwPortInfoSpeed>) (C<snSwPortInfoSpeed>)
=back =back
@@ -602,7 +601,8 @@ Protocol (FDP) and Link Layer Discovery Protocol (LLDP). These
methods will query both and return the combination of all information. As a methods will query both and return the combination of all information. As a
result, there may be identical topology information returned from the two result, there may be identical topology information returned from the two
protocols causing duplicate entries. It is the calling program's protocols causing duplicate entries. It is the calling program's
responsibility to identify any duplicate entries and de-duplicate if necessary. responsibility to identify any duplicate entries and remove duplicates if
necessary.
=over =over

View File

@@ -1,30 +1,34 @@
# SNMP::Info::Layer3::HP9300 - SNMP Interface to HP Foundry OEM devices # SNMP::Info::Layer3::HP9300 - SNMP Interface to HP Foundry OEM devices
# Eric Miller # $Id$
# #
# Copyright (c) 2007 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::HP9300; package SNMP::Info::Layer3::HP9300;
# $Id$
use strict; use strict;
@@ -337,7 +341,6 @@ Eric Miller
my $hp9300 = new SNMP::Info( my $hp9300 = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 1
@@ -374,11 +377,11 @@ after determining a more specific class using the method above.
=over =over
=item HP-SN-ROOT-MIB =item F<HP-SN-ROOT-MIB>
=item HP-SN-AGENT-MIB =item F<HP-SN-AGENT-MIB>
=item HP-SN-SWITCH-GROUP-MIB =item F<HP-SN-SWITCH-GROUP-MIB>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
@@ -398,8 +401,8 @@ These are methods that return scalar value from SNMP
=item $hp9300->model() =item $hp9300->model()
Returns model type. Checks $hp9300->id() against the HP-SN-ROOT-MIB Returns model type. Checks $hp9300->id() against the F<HP-SN-ROOT-MIB>
and removes 'hpSwitch'. and removes C<hpSwitch>.
=item $hp9300->vendor() =item $hp9300->vendor()
@@ -417,13 +420,13 @@ Returns the software version
Returns MAC Address of root port. Returns MAC Address of root port.
(B<ifPhysAddress.1>) (C<ifPhysAddress.1>)
=item $hp9300->chassis() =item $hp9300->chassis()
Returns Chassis type. Returns Chassis type.
(B<entPhysicalDescr.1>) (C<entPhysicalDescr.1>)
=item $hp9300->serial() =item $hp9300->serial()
@@ -433,25 +436,25 @@ Returns serial number of device.
Returns the chassis temperature Returns the chassis temperature
(B<snChasActualTemperature>) (C<snChasActualTemperature>)
=item $hp9300->ps1_type() =item $hp9300->ps1_type()
Returns the Description for the power supply Returns the Description for the power supply
(B<snChasPwrSupplyDescription.1>) (C<snChasPwrSupplyDescription.1>)
=item $hp9300->ps1_status() =item $hp9300->ps1_status()
Returns the status of the power supply. Returns the status of the power supply.
(B<snChasPwrSupplyOperStatus.1>) (C<snChasPwrSupplyOperStatus.1>)
=item $hp9300->fan() =item $hp9300->fan()
Returns the status of the chassis fan. Returns the status of the chassis fan.
(B<snChasFanOperStatus.1>) (C<snChasFanOperStatus.1>)
=back =back
@@ -494,7 +497,7 @@ Crosses $hp9300->sw_duplex() with $hp9300->sw_index()
=back =back
=head2 Switch Port Information Table (B<snSwPortIfTable>) =head2 Switch Port Information Table (C<snSwPortIfTable>)
=over =over
@@ -502,25 +505,25 @@ Crosses $hp9300->sw_duplex() with $hp9300->sw_index()
Returns reference to hash. Maps Table to Interface IID. Returns reference to hash. Maps Table to Interface IID.
(B<snSwPortIfIndex>) (C<snSwPortIfIndex>)
=item $hp9300->sw_duplex() =item $hp9300->sw_duplex()
Returns reference to hash. Current duplex status for switch ports. Returns reference to hash. Current duplex status for switch ports.
(B<snSwPortInfoChnMode>) (C<snSwPortInfoChnMode>)
=item $hp9300->sw_type() =item $hp9300->sw_type()
Returns reference to hash. Current Port Type . Returns reference to hash. Current Port Type .
(B<snSwPortInfoMediaType>) (C<snSwPortInfoMediaType>)
=item $hp9300->sw_speed() =item $hp9300->sw_speed()
Returns reference to hash. Current Port Speed. Returns reference to hash. Current Port Speed.
(B<snSwPortInfoSpeed>) (C<snSwPortInfoSpeed>)
=back =back
@@ -531,7 +534,8 @@ Protocol (FDP) and Link Layer Discovery Protocol (LLDP). These
methods will query both and return the combination of all information. As a methods will query both and return the combination of all information. As a
result, there may be identical topology information returned from the two result, there may be identical topology information returned from the two
protocols causing duplicate entries. It is the calling program's protocols causing duplicate entries. It is the calling program's
responsibility to identify any duplicate entries and de-duplicate if necessary. responsibility to identify any duplicate entries and remove duplicates
if necessary.
=over =over

View File

@@ -1,38 +1,40 @@
# SNMP::Info::Layer3::Juniper # SNMP::Info::Layer3::Juniper
# Bill Fenner # $Id$
# #
# Copyright (c) 2008 Bill Fenner
# All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::Juniper; package SNMP::Info::Layer3::Juniper;
# $Id$
use Exporter; use Exporter;
use SNMP::Info::Layer3; 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.07'; $VERSION = '1.09';
@SNMP::Info::Layer3::Juniper::ISA = qw/SNMP::Info::Layer3 Exporter/; @SNMP::Info::Layer3::Juniper::ISA = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::Juniper::EXPORT_OK = qw//; @SNMP::Info::Layer3::Juniper::EXPORT_OK = qw//;
@@ -132,7 +134,6 @@ Bill Fenner
my $juniper = new SNMP::Info( my $juniper = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myrouter', DestHost => 'myrouter',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -202,7 +203,7 @@ to a hash.
=item $juniper->i_vlan() =item $juniper->i_vlan()
Returns the list of interfaces whose ifType is l2vlan(135), and Returns the list of interfaces whose C<ifType> is l2vlan(135), and
the VLAN ID extracted from the interface description. the VLAN ID extracted from the interface description.
=back =back

View File

@@ -1,31 +1,35 @@
# SNMP::Info::Layer3::Microsoft # SNMP::Info::Layer3::Microsoft
# # $Id$
#
# Copyright (c) 2008 Eric Miller
# All rights reserved.
#
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::Microsoft; package SNMP::Info::Layer3::Microsoft;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@@ -107,7 +111,6 @@ begemot
my $router = new SNMP::Info( my $router = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myrouter', DestHost => 'myrouter',
Community => 'public', Community => 'public',
Version => 1 Version => 1

View File

@@ -1,30 +1,34 @@
# SNMP::Info::Layer3::N1600 - SNMP Interface to Nortel N16XX devices # SNMP::Info::Layer3::N1600 - SNMP Interface to Nortel N16XX devices
# Eric Miller # $Id$
# #
# Copyright (c) 2005 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::N1600; package SNMP::Info::Layer3::N1600;
# $Id$
use strict; use strict;
@@ -34,7 +38,7 @@ use SNMP::Info::SONMP;
use vars qw/$VERSION $DEBUG %GLOBALS %FUNCS $INIT %MIBS %MUNGE/; use vars qw/$VERSION $DEBUG %GLOBALS %FUNCS $INIT %MIBS %MUNGE/;
$VERSION = '1.07'; $VERSION = '1.09';
@SNMP::Info::Layer3::N1600::ISA = qw/SNMP::Info::Layer3 SNMP::Info::SONMP Exporter/; @SNMP::Info::Layer3::N1600::ISA = qw/SNMP::Info::Layer3 SNMP::Info::SONMP Exporter/;
@SNMP::Info::Layer3::N1600::EXPORT_OK = qw//; @SNMP::Info::Layer3::N1600::EXPORT_OK = qw//;
@@ -181,7 +185,6 @@ Eric Miller
my $n1600 = new SNMP::Info( my $n1600 = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 1
@@ -216,9 +219,9 @@ my $n1600 = new SNMP::Info::Layer3::N1600(...);
=over =over
=item SWL2MGMT-MIB =item F<SWL2MGMT-MIB>
=item RAPID-CITY =item F<RAPID-CITY>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
@@ -226,16 +229,6 @@ See classes listed above for their required MIBs.
=back =back
MIBs can be found on the CD that came with your product.
Or, they can be downloaded directly from Nortel regardless of support
contract status.
Go to http://www.nortel.com Techninal Support, Browse Technical Support,
Select by product, Java Device Manager, Software. Download the latest version.
After installation, all mibs are located under the install directory under mibs
and the repspective product line.
=head1 GLOBALS =head1 GLOBALS
These are methods that return scalar value from SNMP These are methods that return scalar value from SNMP
@@ -249,7 +242,7 @@ Return C<1>. Bulkwalk is currently turned off for this class.
=item $n1600->model() =item $n1600->model()
Returns model type. Checks $n1600->id() against the Returns model type. Checks $n1600->id() against the
RAPID-CITY-MIB and then parses out rcA. F<RAPID-CITY-MIB> and then parses out C<rcA>.
=item $n1600->vendor() =item $n1600->vendor()
@@ -271,7 +264,7 @@ Required by SNMP::Info::SONMP. Number representing the number of ports
reserved per slot within the device MIB. reserved per slot within the device MIB.
Returns 64 since largest switch has 48 ports. Since these switches can Returns 64 since largest switch has 48 ports. Since these switches can
not stack, the only requirment to reserve more than the max number of ports. not stack, the only requirement to reserve more than the max number of ports.
=back =back
@@ -296,7 +289,7 @@ to a hash.
Returns reference to hash of interface names to iids. Returns reference to hash of interface names to iids.
Places a 1 in front of index number. This is required for compatibilty with Places a 1 in front of index number. This is required for compatibility with
SNMP::Info::SONMP. SNMP::Info::SONMP.
=item $n1600->i_duplex() =item $n1600->i_duplex()

View File

@@ -1,38 +1,40 @@
# SNMP::Info::Layer3::NetSNMP # SNMP::Info::Layer3::NetSNMP
# Bradley Baetz and Bill Fenner # $Id$
# #
# Copyright (c) 2008 Bill Fenner
# All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::NetSNMP; package SNMP::Info::Layer3::NetSNMP;
# $Id$
use Exporter; use Exporter;
use SNMP::Info::Layer3; 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.07'; $VERSION = '1.09';
@SNMP::Info::Layer3::NetSNMP::ISA = qw/SNMP::Info::Layer3 Exporter/; @SNMP::Info::Layer3::NetSNMP::ISA = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::NetSNMP::EXPORT_OK = qw//; @SNMP::Info::Layer3::NetSNMP::EXPORT_OK = qw//;
@@ -136,7 +138,6 @@ Bradley Baetz and Bill Fenner
my $netsnmp = new SNMP::Info( my $netsnmp = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myrouter', DestHost => 'myrouter',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -162,11 +163,11 @@ Subclass for Generic Net-SNMP devices
=over =over
=item UCD-SNMP-MIB =item F<UCD-SNMP-MIB>
=item NET-SNMP-TC =item F<NET-SNMP-TC>
=item HOST-RESOURCES-MIB =item F<HOST-RESOURCES-MIB>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
@@ -186,17 +187,17 @@ Returns 'Net-SNMP'.
=item $netsnmp->os() =item $netsnmp->os()
Returns the OS extracted from sysDescr. Returns the OS extracted from C<sysDescr>.
=item $netsnmp->os_ver() =item $netsnmp->os_ver()
Returns the software version extracted from sysDescr, along Returns the software version extracted from C<sysDescr>, along
with the Net-SNMP version. with the Net-SNMP version.
=item $netsnmp->uptime() =item $netsnmp->uptime()
Returns the system uptime instead of the agent uptime. Returns the system uptime instead of the agent uptime.
NOTE: discontinuity timers and other TimeStamp-based objects NOTE: discontinuity timers and other Time Stamp based objects
are based on agent uptime, so use orig_uptime(). are based on agent uptime, so use orig_uptime().
=back =back
@@ -224,7 +225,7 @@ similar to
where N is the object ID for your OS from the C<NET-SNMP-TC> MIB (or where N is the object ID for your OS from the C<NET-SNMP-TC> MIB (or
255 if not listed). Some Net-SNMP installations default to an 255 if not listed). Some Net-SNMP installations default to an
incorrect return value for system.sysObjectId. incorrect return value for C<system.sysObjectId>.
In order to recognize a Net-SNMP device as Layer3, it may be necessary In order to recognize a Net-SNMP device as Layer3, it may be necessary
to put a configuration line similar to to put a configuration line similar to

View File

@@ -1,32 +1,35 @@
# SNMP::Info::Layer3::Netscreen # SNMP::Info::Layer3::Netscreen
# Kent Hamilton
# $Id$ # $Id$
# #
# Copyright (c) 2008 Eric Miller
# All rights reserved.
#
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::Netscreen; package SNMP::Info::Layer3::Netscreen;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
use Exporter; use Exporter;
@@ -114,7 +117,6 @@ Kent Hamilton
my $netscreen = new SNMP::Info( my $netscreen = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -145,13 +147,13 @@ my $netscreen = new SNMP::Info::Layer3::Netscreen(...);
=over =over
=item NETSCREEN-SMI =item F<NETSCREEN-SMI>
=item NETSCREEN-PRODUCTS-MIB =item F<NETSCREEN-PRODUCTS-MIB>
=item NETSCREEN-INTERFACE-MIB =item F<NETSCREEN-INTERFACE-MIB>
=item NETSCREEN-SET-GEN-MIB =item F<NETSCREEN-SET-GEN-MIB>
=item Inherited Classes =item Inherited Classes
@@ -171,7 +173,7 @@ Returns 'netscreen'
=item $netscreen->os() =item $netscreen->os()
Returns 'screenos' Returns C<'screenos'>
=item $netscreen->os_ver() =item $netscreen->os_ver()

View File

@@ -1,8 +1,7 @@
# SNMP::Info::Layer3::Passport # SNMP::Info::Layer3::Passport
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2004 Eric Miller, Max Baker # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@@ -10,26 +9,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::Passport; package SNMP::Info::Layer3::Passport;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
@@ -547,7 +547,7 @@ sub bp_index {
return \%bp_index; return \%bp_index;
} }
# Psuedo ENTITY-MIB methods # Pseudo ENTITY-MIB methods
sub e_index { sub e_index {
my $passport = shift; my $passport = shift;
@@ -1011,7 +1011,6 @@ Eric Miller
my $passport = new SNMP::Info( my $passport = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -1026,12 +1025,12 @@ Eric Miller
Abstraction subclass for modular Nortel Ethernet Routing Switches (formerly Abstraction subclass for modular Nortel Ethernet Routing Switches (formerly
Passport and Accelar Series Switches). Passport and Accelar Series Switches).
These devices have some of the same charactersitics as the stackable Nortel These devices have some of the same characteristics as the stackable Nortel
Ethernet Switches (Baystack). For example, extended interface information is Ethernet Switches (Baystack). For example, extended interface information is
gleened from RAPID-CITY. gleaned from F<RAPID-CITY>.
For speed or debugging purposes you can call the subclass directly, but not after For speed or debugging purposes you can call the subclass directly, but not
determining a more specific class using the method above. after determining a more specific class using the method above.
my $passport = new SNMP::Info::Layer3::Passport(...); my $passport = new SNMP::Info::Layer3::Passport(...);
@@ -1070,7 +1069,7 @@ These are methods that return scalar value from SNMP
=item $passport->model() =item $passport->model()
Returns model type. Checks $passport->id() against the Returns model type. Checks $passport->id() against the
RAPID-CITY-MIB and then parses out rcA. F<RAPID-CITY-MIB> and then parses out C<rcA>.
=item $passport->vendor() =item $passport->vendor()
@@ -1082,17 +1081,17 @@ Returns 'passport'
=item $passport->os_ver() =item $passport->os_ver()
Returns the software version extracted from B<sysDescr> Returns the software version extracted from C<sysDescr>
=item $passport->serial() =item $passport->serial()
Returns (B<rcChasSerialNumber>) Returns (C<rcChasSerialNumber>)
=item $passport->root_ip() =item $passport->root_ip()
Returns the primary IP used to communicate with the device. Returns the first Returns the primary IP used to communicate with the device. Returns the first
found: CLIP (CircuitLess IP), Management Virtual IP (B<rcSysVirtualIpAddr>), found: CLIP (CircuitLess IP), Management Virtual IP (C<rcSysVirtualIpAddr>),
OSPF Router ID (B<ospfRouterId>), SONMP Advertised IP Address. OSPF Router ID (C<ospfRouterId>), SONMP Advertised IP Address.
=back =back
@@ -1137,16 +1136,17 @@ to a hash.
=item $passport->i_index() =item $passport->i_index()
Returns SNMP IID to Interface index. Extends (B<ifIndex>) by adding the index of Returns SNMP IID to Interface index. Extends (C<ifIndex>) by adding the index
the CPU virtual management IP (if present), each CPU Ethernet port, and each VLAN of the CPU virtual management IP (if present), each CPU Ethernet port, and
to ensure the virtual router ports are captured. each VLAN to ensure the virtual router ports are captured.
=item $passport->interfaces() =item $passport->interfaces()
Returns reference to the map between IID and physical Port. Returns reference to the map between IID and physical Port.
Slot and port numbers on the Passport switches are determined by the formula: Slot and port numbers on the Passport switches are determined by the formula:
port = (ifIndex % index_factor) + port_offset, slot = int(ifIndex / index_factor). port = (C<ifIndex % index_factor>) + port_offset,
slot = int(C<ifIndex / index_factor>).
The physical port name is returned as slot.port. CPU Ethernet ports are prefixed The physical port name is returned as slot.port. CPU Ethernet ports are prefixed
with CPU and VLAN interfaces are returned as the VLAN ID prefixed with Vlan. with CPU and VLAN interfaces are returned as the VLAN ID prefixed with Vlan.
@@ -1163,32 +1163,33 @@ human and machine friendly. Not always.
=item $passport->i_name() =item $passport->i_name()
Crosses rc_alias() (B<rcPortName>) with ifAlias() and returns the human set port Crosses rc_alias() (C<rcPortName>) with ifAlias() and returns the human set port
name if exists. name if exists.
=item $passport->ip_index() =item $passport->ip_index()
Maps the IP Table to the IID. Extends (B<ipAdEntIfIndex>) by adding the index of Maps the IP Table to the IID. Extends (C<ipAdEntIfIndex>) by adding the index of
the CPU virtual management IP (if present) and each CPU Ethernet port. the CPU virtual management IP (if present) and each CPU Ethernet port.
=item $passport->ip_netmask() =item $passport->ip_netmask()
Extends (B<ipAdEntNetMask>) by adding the mask of the CPU virtual management Extends (C<ipAdEntNetMask>) by adding the mask of the CPU virtual management
IP (if present) and each CPU Ethernet port. IP (if present) and each CPU Ethernet port.
=item $passport->bp_index() =item $passport->bp_index()
Returns reference to hash of bridge port table entries map back to interface identifier (iid) Returns reference to hash of bridge port table entries map back to interface
identifier (iid)
Returns (B<ifIndex>) for both key and value since some devices seem to have Returns (C<ifIndex>) for both key and value since some devices seem to have
problems with BRIDGE-MIB problems with F<BRIDGE-MIB>
=back =back
=head2 Psuedo ENTITY-MIB information =head2 Pseudo F<ENTITY-MIB> information
These devices do not support ENTITY-MIB. These methods emulate Physical Table These devices do not support F<ENTITY-MIB>. These methods emulate Physical
methods using the RAPID-CITY MIB. Table methods using the F<RAPID-CITY MIB>.
=over =over
@@ -1202,7 +1203,7 @@ two digits padded with leading zero if required.
=item $passport->e_class() =item $passport->e_class()
Returns reference to hash. Key: IID, Value: General hardware type. This Returns reference to hash. Key: IID, Value: General hardware type. This
class only returns container, module, and powerSupply types. class only returns container, module, and power supply types.
=item $passport->e_descr() =item $passport->e_descr()

View File

@@ -1,32 +1,36 @@
# SNMP::Info::Layer3::Sun # SNMP::Info::Layer3::Sun
# $Id$
#
# Copyright (c) 2008 Eric Miller
# All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::Sun; package SNMP::Info::Layer3::Sun;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
use Exporter; use Exporter;
@@ -115,7 +119,6 @@ begemot
my $sun = new SNMP::Info( my $sun = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'mysunrouter', DestHost => 'mysunrouter',
Community => 'public', Community => 'public',
Version => 1 Version => 1

View File

@@ -1,7 +1,7 @@
# SNMP::Info::MAU - Media Access Unit - RFC 2668 # SNMP::Info::MAU - Media Access Unit - RFC 2668
# Max Baker # $Id$
# #
# Copyright (c) 2004,2005 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# All rights reserved. # All rights reserved.
@@ -11,27 +11,27 @@
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::MAU; package SNMP::Info::MAU;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -281,8 +281,8 @@ Max Baker
=head1 DESCRIPTION =head1 DESCRIPTION
SNMP::Info::MAU is a sublcass of SNMP::Info that supplies access to the SNMP::Info::MAU is a subclass of SNMP::Info that supplies access to the
MAU-MIB (RFC 2668). This MIB is sometimes implemented on Layer 2 network F<MAU-MIB> (RFC 2668). This MIB is sometimes implemented on Layer 2 network
devices like HP Switches. MAU = Media Access Unit. devices like HP Switches. MAU = Media Access Unit.
The MAU table contains link and duplex info for the port itself and the device The MAU table contains link and duplex info for the port itself and the device
@@ -303,7 +303,7 @@ None.
=over =over
=item MAU-MIB =item F<MAU-MIB>
=back =back
@@ -354,14 +354,14 @@ Returns either (auto,none,full,half).
=item $mau->mau_index() - Returns a list of interfaces =item $mau->mau_index() - Returns a list of interfaces
and their index in the MAU IF Table. and their index in the MAU IF Table.
(B<ifMauIfIndex>) (C<ifMauIfIndex>)
=item $mau->mau_link() - Returns the type of Media Access used. =item $mau->mau_link() - Returns the type of Media Access used.
This is essentially the type of link in use. This is essentially the type of link in use.
eg. dot3MauType100BaseTXFD - 100BaseT at Full Duplex eg. dot3MauType100BaseTXFD - 100BaseT at Full Duplex
(B<ifMauType>) (C<ifMauType>)
=item $mau->mau_status() - Returns the admin link condition as =item $mau->mau_status() - Returns the admin link condition as
@@ -374,16 +374,16 @@ and their index in the MAU IF Table.
Use 5 and !5 to see if the link is up or down on the admin side. Use 5 and !5 to see if the link is up or down on the admin side.
(B<ifMauStatus>) (C<ifMauStatus>)
=item $mau->mau_up() - Returns the current link condition =item $mau->mau_up() - Returns the current link condition
(B<ifMauMediaAvailable>) (C<ifMauMediaAvailable>)
=item $mau->mau_type() - Returns a 32bit string reporting the capabilities =item $mau->mau_type() - Returns a 32bit string reporting the capabilities
of the port from a MAU POV. of the port from a MAU POV.
Directly from the MAU-MIB : Directly from F<MAU-MIB> :
Bit Capability Bit Capability
0 other or unknown 0 other or unknown
1 AUI 1 AUI
@@ -407,7 +407,7 @@ of the port from a MAU POV.
19 100BASE-T2 half duplex mode 19 100BASE-T2 half duplex mode
20 100BASE-T2 full duplex mode 20 100BASE-T2 full duplex mode
(B<ifMauTypeList>) (C<ifMauTypeList>)
=item $mau->mau_type_admin() =item $mau->mau_type_admin()
@@ -415,7 +415,7 @@ of the port from a MAU POV.
=item $mau->mau_auto() - Returns status of auto-negotiation mode for ports. =item $mau->mau_auto() - Returns status of auto-negotiation mode for ports.
(B<ifMauAutoNegAdminStatus>) (C<ifMauAutoNegAdminStatus>)
=item $mau->mau_autostat() =item $mau->mau_autostat()
@@ -426,7 +426,7 @@ capabilities we are broadcasting on that port
Uses the same decoder as $mau->mau_type(). Uses the same decoder as $mau->mau_type().
(B<ifMauAutoNegCapAdvertised>) (C<ifMauAutoNegCapAdvertised>)
=item $mau->mau_autorec() - Returns a 32 bit bit-string representing the =item $mau->mau_autorec() - Returns a 32 bit bit-string representing the
@@ -434,7 +434,7 @@ capabilities of the device on the other end.
Uses the same decoder as $mau->mau_type(). Uses the same decoder as $mau->mau_type().
(B<ifMauAutoNegCapReceived>) (C<ifMauAutoNegCapReceived>)
=back =back

View File

@@ -1,34 +1,35 @@
# SNMP::Info::NortelStack # SNMP::Info::NortelStack
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2004 Eric Miller, Max Baker # Copyright (c) 2008 Eric Miller
# All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::NortelStack; package SNMP::Info::NortelStack;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
@@ -135,7 +136,7 @@ sub serial {
return undef; return undef;
} }
# Psuedo ENTITY-MIB methods for older switches with don't support ENTITY-MIB # Pseudo ENTITY-MIB methods for older switches with don't support ENTITY-MIB
# This class supports both stackable and chassis based switches, identify if # This class supports both stackable and chassis based switches, identify if
# we have a stackable so that we return appropriate entPhysicalClass # we have a stackable so that we return appropriate entPhysicalClass
@@ -554,7 +555,8 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::NortelStack - SNMP Interface to the Nortel S5-AGENT-MIB and S5-CHASSIS-MIB SNMP::Info::NortelStack - SNMP Interface to the Nortel F<S5-AGENT-MIB> and
F<S5-CHASSIS-MIB>
=head1 AUTHOR =head1 AUTHOR
@@ -579,7 +581,7 @@ Eric Miller
=head1 DESCRIPTION =head1 DESCRIPTION
SNMP::Info::NortelStack is a subclass of SNMP::Info that provides an interface SNMP::Info::NortelStack is a subclass of SNMP::Info that provides an interface
to C<S5-AGENT-MIB> and C<S5-CHASSIS-MIB>. These MIBs are used across the to F<S5-AGENT-MIB> and F<S5-CHASSIS-MIB>. These MIBs are used across the
Nortel Stackable Ethernet Switches (BayStack), as well as, older Nortel devices Nortel Stackable Ethernet Switches (BayStack), as well as, older Nortel devices
such as the Centillion family of ATM switches. such as the Centillion family of ATM switches.
@@ -593,11 +595,11 @@ None.
=over =over
=item S5-AGENT-MIB =item F<S5-AGENT-MIB>
=item S5-CHASSIS-MIB =item F<S5-CHASSIS-MIB>
=item S5-ROOT-MIB and S5-TCS-MIB are required by the other MIBs. =item F<S5-ROOT-MIB> and F<S5-TCS-MIB> are required by the other MIBs.
=back =back
@@ -609,89 +611,89 @@ These are methods that return scalar values from SNMP
=item $stack->os_ver() =item $stack->os_ver()
Returns the software version extracted from (B<s5AgInfoVer>) Returns the software version extracted from (C<s5AgInfoVer>)
=item $stack->os_bin() =item $stack->os_bin()
Returns the firmware version extracted from (B<s5AgInfoVer>) Returns the firmware version extracted from (C<s5AgInfoVer>)
=item $stack->serial() =item $stack->serial()
Returns serial number of the chassis Returns serial number of the chassis
(B<s5ChasSerNum>) (C<s5ChasSerNum>)
=item $stack->ns_ag_ver() =item $stack->ns_ag_ver()
Returns the version of the agent in the form 'major.minor.maintenance[letters]'. Returns the version of the agent in the form 'major.minor.maintenance[letters]'.
(B<s5AgInfoVer>) (C<s5AgInfoVer>)
=item $stack->ns_op_mode() =item $stack->ns_op_mode()
Returns the stacking mode. Returns the stacking mode.
(B<s5AgSysCurrentOperationalMode>) (C<s5AgSysCurrentOperationalMode>)
=item $stack->tftp_action() =item $stack->tftp_action()
This object is used to download or upload a config file or an image file. This object is used to download or upload a config file or an image file.
(B<s5AgInfoFileAction>) (C<s5AgInfoFileAction>)
=item $stack->tftp_result() =item $stack->tftp_result()
Returns the status of the latest action as shown by $stack->tftp_action(). Returns the status of the latest action as shown by $stack->tftp_action().
(B<s5AgInfoFileStatus>) (C<s5AgInfoFileStatus>)
=item $stack->ns_auto_pvid() =item $stack->ns_auto_pvid()
Returns the value indicating whether adding a port as a member of a VLAN Returns the value indicating whether adding a port as a member of a VLAN
automatically results in its PVID being set to be the same as that VLAN ID. automatically results in its PVID being set to be the same as that VLAN ID.
(B<s5AgSysAutoPvid>) (C<s5AgSysAutoPvid>)
=item $stack->tftp_file() =item $stack->tftp_file()
Name of the binary configuration file that will be downloaded/uploaded when Name of the binary configuration file that will be downloaded/uploaded when
the $stack->tftp_action() object is set. the $stack->tftp_action() object is set.
(B<s5AgSysBinaryConfigFilename>) (C<s5AgSysBinaryConfigFilename>)
=item $stack->tftp_host() =item $stack->tftp_host()
The IP address of the TFTP server for all TFTP operations. The IP address of the TFTP server for all TFTP operations.
(B<s5AgSysTftpServerAddress>) (C<s5AgSysTftpServerAddress>)
=item $stack->vlan() =item $stack->vlan()
Returns the VLAN ID of the system's management VLAN. Returns the VLAN ID of the system's management VLAN.
(B<s5AgSysManagementVlanId>) (C<s5AgSysManagementVlanId>)
=item $stack->ch_ser() =item $stack->ch_ser()
Returns the serial number of the chassis. Returns the serial number of the chassis.
(B<s5ChasSerNum>) (C<s5ChasSerNum>)
=item $stack->ns_cfg_chg() =item $stack->ns_cfg_chg()
Returns the total number of configuration changes (other than attachment changes, Returns the total number of configuration changes (other than attachment
or physical additions or removals) in the chassis that have been detected since changes, or physical additions or removals) in the chassis that have been
cold/warm start. detected since cold/warm start.
(B<s5ChasGblConfChngs>) (C<s5ChasGblConfChngs>)
=item $stack->ns_cfg_time() =item $stack->ns_cfg_time()
Returns the value of sysUpTime when the last configuration change (other than Returns the value of C<sysUpTime> when the last configuration change (other than
attachment changes, or physical additions or removals) in the chassis was attachment changes, or physical additions or removals) in the chassis was
detected. detected.
(B<s5ChasGblConfLstChng>) (C<s5ChasGblConfLstChng>)
=back =back
@@ -700,7 +702,7 @@ detected.
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 Agent Interface Table (s5AgMyIfTable) =head2 Agent Interface Table (C<s5AgMyIfTable>)
=over =over
@@ -708,17 +710,18 @@ to a hash.
Returns reference to hash. Key: Table entry, Value: Name of the file Returns reference to hash. Key: Table entry, Value: Name of the file
(B<s5AgMyIfCfgFname>) (C<s5AgMyIfCfgFname>)
=item $stack->i_cfg_host() =item $stack->i_cfg_host()
Returns reference to hash. Key: Table entry, Value: IP address of the load server Returns reference to hash. Key: Table entry, Value: IP address of the load
server
(B<s5AgMyIfLdSvrAddr>) (C<s5AgMyIfLdSvrAddr>)
=back =back
=head2 Chassis Components Table (s5ChasComTable) =head2 Chassis Components Table (C<s5ChasComTable>)
=over =over
@@ -727,49 +730,49 @@ Returns reference to hash. Key: Table entry, Value: IP address of the load serv
Returns reference to hash. Key: Table entry, Value: Index of the chassis level Returns reference to hash. Key: Table entry, Value: Index of the chassis level
group which contains this component. group which contains this component.
(B<s5ChasComGrpIndx>) (C<s5ChasComGrpIndx>)
=item $stack->ns_com_idx() =item $stack->ns_com_idx()
Returns reference to hash. Key: Table entry, Value: Index of the component in Returns reference to hash. Key: Table entry, Value: Index of the component in
the group. For modules in the 'board' group, this is the slot number. the group. For modules in the 'board' group, this is the slot number.
(B<s5ChasComIndx>) (C<s5ChasComIndx>)
=item $stack->ns_com_sub_idx() =item $stack->ns_com_sub_idx()
Returns reference to hash. Key: Table entry, Value: Index of the sub-component Returns reference to hash. Key: Table entry, Value: Index of the sub-component
in the component. in the component.
(B<s5ChasComSubIndx>) (C<s5ChasComSubIndx>)
=item $stack->ns_com_type() =item $stack->ns_com_type()
Returns reference to hash. Key: Table entry, Value: Type Returns reference to hash. Key: Table entry, Value: Type
(B<s5ChasComType>) (C<s5ChasComType>)
=item $stack->ns_com_descr() =item $stack->ns_com_descr()
Returns reference to hash. Key: Table entry, Value: Description Returns reference to hash. Key: Table entry, Value: Description
(B<s5ChasComDescr>) (C<s5ChasComDescr>)
=item $stack->ns_com_ver() =item $stack->ns_com_ver()
Returns reference to hash. Key: Table entry, Value: Version Returns reference to hash. Key: Table entry, Value: Version
(B<s5ChasComVer>) (C<s5ChasComVer>)
=item $stack->ns_com_serial() =item $stack->ns_com_serial()
Returns reference to hash. Key: Table entry, Value: Serial Number Returns reference to hash. Key: Table entry, Value: Serial Number
(B<s5ChasComSerNum>) (C<s5ChasComSerNum>)
=back =back
=head2 Storage Area Table (s5ChasStoreTable) =head2 Storage Area Table (C<s5ChasStoreTable>)
=over =over
@@ -778,77 +781,78 @@ Returns reference to hash. Key: Table entry, Value: Serial Number
Returns reference to hash. Key: Table entry, Value: Index of the chassis level Returns reference to hash. Key: Table entry, Value: Index of the chassis level
group. group.
(B<s5ChasStoreGrpIndx>) (C<s5ChasStoreGrpIndx>)
=item $stack->ns_store_idx() =item $stack->ns_store_idx()
Returns reference to hash. Key: Table entry, Value: Index of the group. Returns reference to hash. Key: Table entry, Value: Index of the group.
(B<s5ChasStoreComIndx>) (C<s5ChasStoreComIndx>)
=item $stack->ns_store_sub_idx() =item $stack->ns_store_sub_idx()
Returns reference to hash. Key: Table entry, Value: Index of the sub-component. Returns reference to hash. Key: Table entry, Value: Index of the sub-component.
(B<s5ChasStoreSubIndx>) (C<s5ChasStoreSubIndx>)
=item $stack->ns_store_idx() =item $stack->ns_store_idx()
Returns reference to hash. Key: Table entry, Value: Index of the storage area. Returns reference to hash. Key: Table entry, Value: Index of the storage area.
(B<s5ChasStoreIndx>) (C<s5ChasStoreIndx>)
=item $stack->ns_store_type() =item $stack->ns_store_type()
Returns reference to hash. Key: Table entry, Value: Type Returns reference to hash. Key: Table entry, Value: Type
(B<s5ChasStoreType>) (C<s5ChasStoreType>)
=item $stack->ns_store_size() =item $stack->ns_store_size()
Returns reference to hash. Key: Table entry, Value: Size Returns reference to hash. Key: Table entry, Value: Size
(B<s5ChasStoreCurSize>) (C<s5ChasStoreCurSize>)
=item $stack->ns_store_ver() =item $stack->ns_store_ver()
Returns reference to hash. Key: Table entry, Value: Version Returns reference to hash. Key: Table entry, Value: Version
(B<s5ChasStoreCntntVer>) (C<s5ChasStoreCntntVer>)
=back =back
=head2 Psuedo ENTITY-MIB information =head2 Pseudo F<ENTITY-MIB> information
These methods emulate ENTITY-MIB Physical Table methods using S5-CHASSIS-MIB. These methods emulate F<ENTITY-MIB> Physical Table methods using
F<S5-CHASSIS-MIB>.
=over =over
=item $stack->ns_e_index() =item $stack->ns_e_index()
Returns reference to hash. Key: IID, Value: Integer, Indicies are combined Returns reference to hash. Key: IID, Value: Integer, Indices are combined
into a six digit integer, each index is two digits padded with leading zero if into a six digit integer, each index is two digits padded with leading zero if
required. required.
=item $stack->ns_e_class() =item $stack->ns_e_class()
Returns reference to hash. Key: IID, Value: General hardware type Returns reference to hash. Key: IID, Value: General hardware type
(B<s5ChasGrpDescr>). (C<s5ChasGrpDescr>).
Group is stripped from the string. Values may be Supervisory Module, Group is stripped from the string. Values may be Supervisory Module,
Backplane, Board, Power Supply, Sensor, Fan, Clock, Unit. Back Plane, Board, Power Supply, Sensor, Fan, Clock, Unit.
=item $stack->ns_e_descr() =item $stack->ns_e_descr()
Returns reference to hash. Key: IID, Value: Human friendly name Returns reference to hash. Key: IID, Value: Human friendly name
(B<s5ChasComDescr>) (C<s5ChasComDescr>)
=item $stack->ns_e_hwver() =item $stack->ns_e_hwver()
Returns reference to hash. Key: IID, Value: Hardware version Returns reference to hash. Key: IID, Value: Hardware version
(B<s5ChasComVer>) (C<s5ChasComVer>)
=item $stack->ns_e_vendor() =item $stack->ns_e_vendor()
@@ -858,32 +862,32 @@ Returns reference to hash. Key: IID, Value: nortel
Returns reference to hash. Key: IID, Value: Serial number Returns reference to hash. Key: IID, Value: Serial number
(B<s5ChasComSerNum>) (C<s5ChasComSerNum>)
=item $stack->ns_e_pos() =item $stack->ns_e_pos()
Returns reference to hash. Key: IID, Value: The relative position among all Returns reference to hash. Key: IID, Value: The relative position among all
entities sharing the same parent. entities sharing the same parent.
(B<s5ChasComSubIndx>) (C<s5ChasComSubIndx>)
=item $stack->ns_e_type() =item $stack->ns_e_type()
Returns reference to hash. Key: IID, Value: Type of component/sub-component Returns reference to hash. Key: IID, Value: Type of component/sub-component
as defined under B<s5ChasComTypeVal> in S5-REG-MIB. as defined under C<s5ChasComTypeVal> in F<S5-REG-MIB>.
=item $stack->ns_e_fwver() =item $stack->ns_e_fwver()
Returns reference to hash. Key: IID, Value: Firmware revision. Returns reference to hash. Key: IID, Value: Firmware revision.
Value of B<s5ChasStoreCntntVer> for entries with rom, boot, or fw in Value of C<s5ChasStoreCntntVer> for entries with rom, boot, or firmware in
B<s5ChasStoreType>. C<s5ChasStoreType>.
=item $stack->ns_e_fwver() =item $stack->ns_e_fwver()
Returns reference to hash. Key: IID, Value: Software revision. Returns reference to hash. Key: IID, Value: Software revision.
Value of B<s5ChasStoreCntntVer> for entries with "flash" in B<s5ChasStoreType>. Value of C<s5ChasStoreCntntVer> for entries with "flash" in C<s5ChasStoreType>.
=item $stack->ns_e_parent() =item $stack->ns_e_parent()
@@ -891,4 +895,6 @@ Returns reference to hash. Key: IID, Value: The value of ns_e_index() for the
entity which 'contains' this entity. A value of zero indicates this entity entity which 'contains' this entity. A value of zero indicates this entity
is not contained in any other entity. is not contained in any other entity.
=back
=cut =cut

View File

@@ -1,34 +1,35 @@
# SNMP::Info::PowerEthernet # SNMP::Info::PowerEthernet
# Bill Fenner # $Id$
# #
# Copyright (c) 2007 Bill Fenner # Copyright (c) 2008 Bill Fenner
# All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::PowerEthernet; package SNMP::Info::PowerEthernet;
$VERSION = '1.07'; $VERSION = '1.09';
# $Id$
use strict; use strict;
@@ -88,9 +89,12 @@ sub peth_port_ifindex {
1; 1;
__END__
=head1 NAME =head1 NAME
SNMP::Info::PowerEthernet - SNMP Interface to data stored in POWER-ETHERNET-MIB. SNMP::Info::PowerEthernet - SNMP Interface to data stored in
F<POWER-ETHERNET-MIB>.
=head1 AUTHOR =head1 AUTHOR
@@ -102,7 +106,6 @@ Bill Fenner
my $poe = new SNMP::Info( my $poe = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly on to SNMP::Session
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 2 Version => 2
@@ -114,7 +117,7 @@ Bill Fenner
=head1 DESCRIPTION =head1 DESCRIPTION
POWER-ETHERNET-MIB is used to describe PoE (IEEE 802.3af) F<POWER-ETHERNET-MIB> is used to describe PoE (IEEE 802.3af)
Create or use a device subclass that inherit this class. Do not use directly. Create or use a device subclass that inherit this class. Do not use directly.
@@ -130,7 +133,7 @@ none.
=over =over
=item POWER-ETHERNET-MIB =item F<POWER-ETHERNET-MIB>
=back =back
@@ -163,15 +166,15 @@ C<pethPsePortDetectionStatus>
=item $poe->peth_port_class() =item $poe->peth_port_class()
Device class: if status is deliveringPower, this represents the 802.3af Device class: if status is delivering power, this represents the 802.3af
class of the device being powered. class of the device being powered.
C<pethPsePortPowerClassifications> C<pethPsePortPowerClassifications>
=item $poe->peth_port_ifindex() =item $poe->peth_port_ifindex()
A mapping function from the pethPsePortTable INDEX of A mapping function from the C<pethPsePortTable> INDEX of
module.port to an ifIndex. The default mapping ignores the module.port to an C<ifIndex>. The default mapping ignores the
module (returning undef if there are any module values greater module (returning undef if there are any module values greater
than 1) and returns the port number, assuming that there is a than 1) and returns the port number, assuming that there is a
1:1 mapping. 1:1 mapping.
@@ -202,7 +205,7 @@ C<pethMainPseOperStatus>
=item $poe->peth_power_consumption() =item $poe->peth_power_consumption()
How much power, in watts, this power supply has been committed to How much power, in watts, this power supply has been committed to
deliver. (Note: certain devices seem to supply this value in milliwats, deliver. (Note: certain devices seem to supply this value in milliwatts,
so be cautious interpreting it.) so be cautious interpreting it.)
C<pethMainPseConsumptionPower> C<pethMainPseConsumptionPower>

View File

@@ -1,33 +1,35 @@
# SNMP::Info::RapidCity # SNMP::Info::RapidCity
# $Id$ # $Id$
# #
# Copyright (c) 2004 Eric Miller, Max Baker # Copyright (c) 2008 Eric Miller
# All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::RapidCity; package SNMP::Info::RapidCity;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
use Exporter; use Exporter;
@@ -530,12 +532,12 @@ Eric Miller
# Let SNMP::Info determine the correct subclass for you. # Let SNMP::Info determine the correct subclass for you.
my $rapidcity = new SNMP::Info( my $rapidcity = 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
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
@@ -547,7 +549,7 @@ Eric Miller
SNMP::Info::RapidCity is a subclass of SNMP::Info that provides an interface SNMP::Info::RapidCity is a subclass of SNMP::Info that provides an interface
to the C<RAPID-CITY> MIB. This MIB is used across the Nortel Ethernet Routing to the C<RAPID-CITY> MIB. This MIB is used across the Nortel Ethernet Routing
Switch and Ethernet Switch product lines (Formerly known as Passport, Switch and Ethernet Switch product lines (Formerly known as Passport,
BayStack, and Acclear). BayStack, and Accelar).
Use or create in a subclass of SNMP::Info. Do not use directly. Use or create in a subclass of SNMP::Info. Do not use directly.
@@ -571,47 +573,47 @@ These are methods that return scalar values from SNMP
=item $rapidcity->rc_base_mac() =item $rapidcity->rc_base_mac()
(B<rc2kChassisBaseMacAddr>) (C<rc2kChassisBaseMacAddr>)
=item $rapidcity->rc_serial() =item $rapidcity->rc_serial()
(B<rcChasSerialNumber>) (C<rcChasSerialNumber>)
=item $rapidcity->rc_ch_rev() =item $rapidcity->rc_ch_rev()
(B<rcChasHardwareRevision>) (C<rcChasHardwareRevision>)
=item $rapidcity->chassis() =item $rapidcity->chassis()
(B<rcChasType>) (C<rcChasType>)
=item $rapidcity->slots() =item $rapidcity->slots()
(B<rcChasNumSlots>) (C<rcChasNumSlots>)
=item $rapidcity->rc_virt_ip() =item $rapidcity->rc_virt_ip()
(B<rcSysVirtualIpAddr>) (C<rcSysVirtualIpAddr>)
=item $rapidcity->rc_virt_mask() =item $rapidcity->rc_virt_mask()
(B<rcSysVirtualNetMask>) (C<rcSysVirtualNetMask>)
=item $rapidcity->tftp_host() =item $rapidcity->tftp_host()
(B<rcTftpHost>) (C<rcTftpHost>)
=item $rapidcity->tftp_file() =item $rapidcity->tftp_file()
(B<rcTftpFile>) (C<rcTftpFile>)
=item $rapidcity->tftp_action() =item $rapidcity->tftp_action()
(B<rcTftpAction>) (C<rcTftpAction>)
=item $rapidcity->tftp_result() =item $rapidcity->tftp_result()
(B<rcTftpResult>) (C<rcTftpResult>)
=back =back
@@ -642,12 +644,12 @@ Returns reference to hash of IIDs to admin duplex setting.
=item $rapidcity->i_vlan() =item $rapidcity->i_vlan()
Returns a mapping between ifIndex and the PVID or default VLAN. Returns a mapping between C<ifIndex> and the PVID or default VLAN.
=item $rapidcity->i_vlan_membership() =item $rapidcity->i_vlan_membership()
Returns reference to hash of arrays: key = ifIndex, value = array of VLAN IDs. Returns reference to hash of arrays: key = C<ifIndex>, value = array of VLAN
These are the VLANs which are members of the egress list for the port. IDs. These are the VLANs which are members of the egress list for the port.
Example: Example:
my $interfaces = $rapidcity->interfaces(); my $interfaces = $rapidcity->interfaces();
@@ -661,333 +663,333 @@ These are the VLANs which are members of the egress list for the port.
=back =back
=head2 RAPID-CITY Port Table (B<rcPortTable>) =head2 RAPID-CITY Port Table (C<rcPortTable>)
=over =over
=item $rapidcity->rc_index() =item $rapidcity->rc_index()
(B<rcPortIndex>) (C<rcPortIndex>)
=item $rapidcity->rc_duplex() =item $rapidcity->rc_duplex()
(B<rcPortOperDuplex>) (C<rcPortOperDuplex>)
=item $rapidcity->rc_duplex_admin() =item $rapidcity->rc_duplex_admin()
(B<rcPortAdminDuplex>) (C<rcPortAdminDuplex>)
=item $rapidcity->rc_speed_admin() =item $rapidcity->rc_speed_admin()
(B<rcPortAdminSpeed>) (C<rcPortAdminSpeed>)
=item $rapidcity->rc_auto() =item $rapidcity->rc_auto()
(B<rcPortAutoNegotiate>) (C<rcPortAutoNegotiate>)
=item $rapidcity->rc_alias() =item $rapidcity->rc_alias()
(B<rcPortName>) (C<rcPortName>)
=back =back
=head2 RAPID-CITY CPU Ethernet Port Table (B<rc2kCpuEthernetPortTable>) =head2 RAPID-CITY CPU Ethernet Port Table (C<rc2kCpuEthernetPortTable>)
=over =over
=item $rapidcity->rc_cpu_ifindex() =item $rapidcity->rc_cpu_ifindex()
(B<rc2kCpuEthernetPortIfIndex>) (C<rc2kCpuEthernetPortIfIndex>)
=item $rapidcity->rc_cpu_admin() =item $rapidcity->rc_cpu_admin()
(B<rc2kCpuEthernetPortAdminStatus>) (C<rc2kCpuEthernetPortAdminStatus>)
=item $rapidcity->rc_cpu_oper() =item $rapidcity->rc_cpu_oper()
(B<rc2kCpuEthernetPortOperStatus>) (C<rc2kCpuEthernetPortOperStatus>)
=item $rapidcity->rc_cpu_ip() =item $rapidcity->rc_cpu_ip()
(B<rc2kCpuEthernetPortAddr>) (C<rc2kCpuEthernetPortAddr>)
=item $rapidcity->rc_cpu_mask() =item $rapidcity->rc_cpu_mask()
(B<rc2kCpuEthernetPortMask>) (C<rc2kCpuEthernetPortMask>)
=item $rapidcity->rc_cpu_auto() =item $rapidcity->rc_cpu_auto()
(B<rc2kCpuEthernetPortAutoNegotiate>) (C<rc2kCpuEthernetPortAutoNegotiate>)
=item $rapidcity->rc_cpu_duplex_admin() =item $rapidcity->rc_cpu_duplex_admin()
(B<rc2kCpuEthernetPortAdminDuplex>) (C<rc2kCpuEthernetPortAdminDuplex>)
=item $rapidcity->rc_cpu_duplex() =item $rapidcity->rc_cpu_duplex()
(B<rc2kCpuEthernetPortOperDuplex>) (C<rc2kCpuEthernetPortOperDuplex>)
=item $rapidcity->rc_cpu_speed_admin() =item $rapidcity->rc_cpu_speed_admin()
(B<rc2kCpuEthernetPortAdminSpeed>) (C<rc2kCpuEthernetPortAdminSpeed>)
=item $rapidcity->rc_cpu_speed_oper() =item $rapidcity->rc_cpu_speed_oper()
(B<rc2kCpuEthernetPortOperSpeed>) (C<rc2kCpuEthernetPortOperSpeed>)
=item $rapidcity->rc_cpu_mac() =item $rapidcity->rc_cpu_mac()
(B<rc2kCpuEthernetPortMgmtMacAddr>) (C<rc2kCpuEthernetPortMgmtMacAddr>)
=back =back
=head2 RAPID-CITY VLAN Port Table (B<rcVlanPortTable>) =head2 RAPID-CITY VLAN Port Table (C<rcVlanPortTable>)
=over =over
=item $rapidcity->rc_i_vlan_if() =item $rapidcity->rc_i_vlan_if()
(B<rcVlanPortIndex>) (C<rcVlanPortIndex>)
=item $rapidcity->rc_i_vlan_num() =item $rapidcity->rc_i_vlan_num()
(B<rcVlanPortNumVlanIds>) (C<rcVlanPortNumVlanIds>)
=item $rapidcity->rc_i_vlan() =item $rapidcity->rc_i_vlan()
(B<rcVlanPortVlanIds>) (C<rcVlanPortVlanIds>)
=item $rapidcity->rc_i_vlan_type() =item $rapidcity->rc_i_vlan_type()
(B<rcVlanPortType>) (C<rcVlanPortType>)
=item $rapidcity->rc_i_vlan_pvid() =item $rapidcity->rc_i_vlan_pvid()
(B<rcVlanPortDefaultVlanId>) (C<rcVlanPortDefaultVlanId>)
=item $rapidcity->rc_i_vlan_tag() =item $rapidcity->rc_i_vlan_tag()
(B<rcVlanPortPerformTagging>) (C<rcVlanPortPerformTagging>)
=back =back
=head2 RAPID-CITY VLAN Table (B<rcVlanTable>) =head2 RAPID-CITY VLAN Table (C<rcVlanTable>)
=over =over
=item $rapidcity->rc_vlan_id() =item $rapidcity->rc_vlan_id()
(B<rcVlanId>) (C<rcVlanId>)
=item $rapidcity->v_name() =item $rapidcity->v_name()
(B<rcVlanName>) (C<rcVlanName>)
=item $rapidcity->rc_vlan_color() =item $rapidcity->rc_vlan_color()
(B<rcVlanColor>) (C<rcVlanColor>)
=item $rapidcity->rc_vlan_if() =item $rapidcity->rc_vlan_if()
(B<rcVlanIfIndex>) (C<rcVlanIfIndex>)
=item $rapidcity->rc_vlan_stg() =item $rapidcity->rc_vlan_stg()
(B<rcVlanStgId>) (C<rcVlanStgId>)
=item $rapidcity->rc_vlan_type() =item $rapidcity->rc_vlan_type()
(B<rcVlanType>) (C<rcVlanType>)
=item $rapidcity->rc_vlan_members() =item $rapidcity->rc_vlan_members()
(B<rcVlanPortMembers>) (C<rcVlanPortMembers>)
=item $rapidcity->rc_vlan_mac() =item $rapidcity->rc_vlan_mac()
(B<rcVlanMacAddress>) (C<rcVlanMacAddress>)
=back =back
=head2 RAPID-CITY IP Address Table (B<rcIpAddrTable>) =head2 RAPID-CITY IP Address Table (C<rcIpAddrTable>)
=over =over
=item $rapidcity->rc_ip_index() =item $rapidcity->rc_ip_index()
(B<rcIpAdEntIfIndex>) (C<rcIpAdEntIfIndex>)
=item $rapidcity->rc_ip_addr() =item $rapidcity->rc_ip_addr()
(B<rcIpAdEntAddr>) (C<rcIpAdEntAddr>)
=item $rapidcity->rc_ip_type() =item $rapidcity->rc_ip_type()
(B<rcIpAdEntIfType>) (C<rcIpAdEntIfType>)
=back =back
=head2 RAPID-CITY Chassis Fan Table (B<rcChasFanTable>) =head2 RAPID-CITY Chassis Fan Table (C<rcChasFanTable>)
=over =over
=item $rapidcity->rc_fan_op() =item $rapidcity->rc_fan_op()
(B<rcChasFanOperStatus>) (C<rcChasFanOperStatus>)
=back =back
=head2 RAPID-CITY Power Supply Table (B<rcChasPowerSupplyTable>) =head2 RAPID-CITY Power Supply Table (C<rcChasPowerSupplyTable>)
=over =over
=item $rapidcity->rc_ps_op() =item $rapidcity->rc_ps_op()
(B<rcChasPowerSupplyOperStatus>) (C<rcChasPowerSupplyOperStatus>)
=back =back
=head2 RAPID-CITY Power Supply Detail Table (B<rcChasPowerSupplyDetailTable>) =head2 RAPID-CITY Power Supply Detail Table (C<rcChasPowerSupplyDetailTable>)
=over =over
=item $rapidcity->rc_ps_type() =item $rapidcity->rc_ps_type()
(B<rcChasPowerSupplyDetailType>) (C<rcChasPowerSupplyDetailType>)
=item $rapidcity->rc_ps_serial() =item $rapidcity->rc_ps_serial()
(B<rcChasPowerSupplyDetailSerialNumber>) (C<rcChasPowerSupplyDetailSerialNumber>)
=item $rapidcity->rc_ps_rev() =item $rapidcity->rc_ps_rev()
(B<rcChasPowerSupplyDetailHardwareRevision>) (C<rcChasPowerSupplyDetailHardwareRevision>)
=item $rapidcity->rc_ps_part() =item $rapidcity->rc_ps_part()
(B<rcChasPowerSupplyDetailPartNumber>) (C<rcChasPowerSupplyDetailPartNumber>)
=item $rapidcity->rc_ps_detail() =item $rapidcity->rc_ps_detail()
(B<rcChasPowerSupplyDetailDescription>) (C<rcChasPowerSupplyDetailDescription>)
=back =back
=head2 RAPID-CITY Card Table (B<rcCardTable>) =head2 RAPID-CITY Card Table (C<rcCardTable>)
=over =over
=item $rapidcity->rc_c_type() =item $rapidcity->rc_c_type()
(B<rcCardType>) (C<rcCardType>)
=item $rapidcity->rc_c_serial() =item $rapidcity->rc_c_serial()
(B<rcCardSerialNumber>) (C<rcCardSerialNumber>)
=item $rapidcity->rc_c_rev() =item $rapidcity->rc_c_rev()
(B<rcCardHardwareRevision>) (C<rcCardHardwareRevision>)
=item $rapidcity->rc_c_part() =item $rapidcity->rc_c_part()
(B<rcCardPartNumber>) (C<rcCardPartNumber>)
=back =back
=head2 RAPID-CITY 2k Card Table (B<rc2kCardTable>) =head2 RAPID-CITY 2k Card Table (C<rc2kCardTable>)
=over =over
=item $rapidcity->rc2k_c_ftype() =item $rapidcity->rc2k_c_ftype()
(B<rc2kCardFrontType>) (C<rc2kCardFrontType>)
=item $rapidcity->rc2k_c_fdesc() =item $rapidcity->rc2k_c_fdesc()
(B<rc2kCardFrontDescription>) (C<rc2kCardFrontDescription>)
=item $rapidcity->rc2k_c_fserial() =item $rapidcity->rc2k_c_fserial()
(B<rc2kCardFrontSerialNum>) (C<rc2kCardFrontSerialNum>)
=item $rapidcity->rc2k_c_frev() =item $rapidcity->rc2k_c_frev()
(B<rc2kCardFrontHwVersion>) (C<rc2kCardFrontHwVersion>)
=item $rapidcity->rc2k_c_fpart() =item $rapidcity->rc2k_c_fpart()
(B<rc2kCardFrontPartNumber>) (C<rc2kCardFrontPartNumber>)
=item $rapidcity->rc2k_c_fdate() =item $rapidcity->rc2k_c_fdate()
(B<rc2kCardFrontDateCode>) (C<rc2kCardFrontDateCode>)
=item $rapidcity->rc2k_c_fdev() =item $rapidcity->rc2k_c_fdev()
(B<rc2kCardFrontDeviations>) (C<rc2kCardFrontDeviations>)
=item $rapidcity->rc2k_c_btype() =item $rapidcity->rc2k_c_btype()
(B<rc2kCardBackType>) (C<rc2kCardBackType>)
=item $rapidcity->rc2k_c_bdesc() =item $rapidcity->rc2k_c_bdesc()
(B<rc2kCardBackDescription>) (C<rc2kCardBackDescription>)
=item $rapidcity->rc2k_c_bserial() =item $rapidcity->rc2k_c_bserial()
(B<rc2kCardBackSerialNum>) (C<rc2kCardBackSerialNum>)
=item $rapidcity->rc2k_c_brev() =item $rapidcity->rc2k_c_brev()
(B<rc2kCardBackHwVersion>) (C<rc2kCardBackHwVersion>)
=item $rapidcity->rc2k_c_bpart() =item $rapidcity->rc2k_c_bpart()
(B<rc2kCardBackPartNumber>) (C<rc2kCardBackPartNumber>)
=item $rapidcity->rc2k_c_bdate() =item $rapidcity->rc2k_c_bdate()
(B<rc2kCardBackDateCode>) (C<rc2kCardBackDateCode>)
=item $rapidcity->rc2k_c_bdev() =item $rapidcity->rc2k_c_bdev()
(B<rc2kCardBackDeviations>) (C<rc2kCardBackDeviations>)
=back =back
=head2 RAPID-CITY MDA Card Table (B<rc2kMdaCardTable>) =head2 RAPID-CITY MDA Card Table (C<rc2kMdaCardTable>)
=over =over
=item $rapidcity->rc2k_mda_type() =item $rapidcity->rc2k_mda_type()
(B<rc2kMdaCardType>) (C<rc2kMdaCardType>)
=item $rapidcity->rc2k_mda_desc() =item $rapidcity->rc2k_mda_desc()
(B<rc2kMdaCardDescription>) (C<rc2kMdaCardDescription>)
=item $rapidcity->rc2k_mda_serial() =item $rapidcity->rc2k_mda_serial()
(B<rc2kMdaCardSerialNum>) (C<rc2kMdaCardSerialNum>)
=item $rapidcity->rc2k_mda_rev() =item $rapidcity->rc2k_mda_rev()
(B<rc2kMdaCardHwVersion>) (C<rc2kMdaCardHwVersion>)
=item $rapidcity->rc2k_mda_part() =item $rapidcity->rc2k_mda_part()
(B<rc2kMdaCardPartNumber>) (C<rc2kMdaCardPartNumber>)
=item $rapidcity->rc2k_mda_date() =item $rapidcity->rc2k_mda_date()
(B<rc2kMdaCardDateCode>) (C<rc2kMdaCardDateCode>)
=item $rapidcity->rc2k_mda_dev() =item $rapidcity->rc2k_mda_dev()
(B<rc2kMdaCardDeviations>) (C<rc2kMdaCardDeviations>)
=back =back
@@ -1001,7 +1003,7 @@ L<SNMP::Info/"SETTING DATA VIA SNMP"> for general information on set operations.
=item $rapidcity->set_i_speed_admin(speed, ifIndex) =item $rapidcity->set_i_speed_admin(speed, ifIndex)
Sets port speed, must be supplied with speed and port ifIndex. Speed choices Sets port speed, must be supplied with speed and port C<ifIndex>. Speed choices
are 'auto', '10', '100', '1000'. are 'auto', '10', '100', '1000'.
Example: Example:
@@ -1011,8 +1013,8 @@ are 'auto', '10', '100', '1000'.
=item $rapidcity->set_i_duplex_admin(duplex, ifIndex) =item $rapidcity->set_i_duplex_admin(duplex, ifIndex)
Sets port duplex, must be supplied with duplex and port ifIndex. Speed choices Sets port duplex, must be supplied with duplex and port C<ifIndex>. Speed
are 'auto', 'half', 'full'. choices are 'auto', 'half', 'full'.
Example: Example:
my %if_map = reverse %{$rapidcity->interfaces()}; my %if_map = reverse %{$rapidcity->interfaces()};
@@ -1021,9 +1023,10 @@ are 'auto', 'half', 'full'.
=item $rapidcity->set_i_vlan(vlan, ifIndex) =item $rapidcity->set_i_vlan(vlan, ifIndex)
Changes an access (untagged) port VLAN, must be supplied with the numeric VLAN ID Changes an access (untagged) port VLAN, must be supplied with the numeric
and port ifIndex. This method will modify the port's VLAN membership and PVID VLAN ID and port C<ifIndex>. This method will modify the port's VLAN membership
(default VLAN). This method should only be used on end station (non-trunk) ports. and PVID (default VLAN). This method should only be used on end station
(non-trunk) ports.
Example: Example:
my %if_map = reverse %{$rapidcity->interfaces()}; my %if_map = reverse %{$rapidcity->interfaces()};
@@ -1033,8 +1036,8 @@ and port ifIndex. This method will modify the port's VLAN membership and PVID
=item $rapidcity->set_i_pvid(pvid, ifIndex) =item $rapidcity->set_i_pvid(pvid, ifIndex)
Sets port PVID or default VLAN, must be supplied with the numeric VLAN ID and Sets port PVID or default VLAN, must be supplied with the numeric VLAN ID and
port ifIndex. This method only changes the PVID, to modify an access (untagged) port C<ifIndex>. This method only changes the PVID, to modify an access
port use set_i_vlan() instead. (untagged) port use set_i_vlan() instead.
Example: Example:
my %if_map = reverse %{$rapidcity->interfaces()}; my %if_map = reverse %{$rapidcity->interfaces()};
@@ -1044,7 +1047,7 @@ port use set_i_vlan() instead.
=item $rapidcity->set_add_i_vlan_tagged(vlan, ifIndex) =item $rapidcity->set_add_i_vlan_tagged(vlan, ifIndex)
Adds the port to the egress list of the VLAN, must be supplied with the numeric Adds the port to the egress list of the VLAN, must be supplied with the numeric
VLAN ID and port ifIndex. VLAN ID and port C<ifIndex>.
Example: Example:
my %if_map = reverse %{$rapidcity->interfaces()}; my %if_map = reverse %{$rapidcity->interfaces()};
@@ -1054,7 +1057,7 @@ VLAN ID and port ifIndex.
=item $rapidcity->set_remove_i_vlan_tagged(vlan, ifIndex) =item $rapidcity->set_remove_i_vlan_tagged(vlan, ifIndex)
Removes the port from the egress list of the VLAN, must be supplied with the Removes the port from the egress list of the VLAN, must be supplied with the
numeric VLAN ID and port ifIndex. numeric VLAN ID and port C<ifIndex>.
Example: Example:
my %if_map = reverse %{$rapidcity->interfaces()}; my %if_map = reverse %{$rapidcity->interfaces()};
@@ -1072,4 +1075,6 @@ Creates the specified VLAN on the device.
Note: This method only allows creation of Port type VLANs and does not allow Note: This method only allows creation of Port type VLANs and does not allow
for the setting of the Spanning Tree Group (STG) which defaults to 1. for the setting of the Spanning Tree Group (STG) which defaults to 1.
=back
=cut =cut

View File

@@ -1,34 +1,35 @@
# SNMP::Info::SONMP # SNMP::Info::SONMP
# Eric Miller
# $Id$ # $Id$
# #
# Copyright (c) 2004 Eric Miller, Max Baker # Copyright (c) 2008 Eric Miller
# All rights reserved.
# #
# 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:
# #
# * Redistributions of source code must retain the above copyright notice, # * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer. # this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, # * Redistributions in binary form must reproduce the above copyright
# this list of conditions and the following disclaimer in the documentation # notice, this list of conditions and the following disclaimer in the
# and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the # * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products # names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission. # derived from this software without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::SONMP; package SNMP::Info::SONMP;
$VERSION = '1.07'; $VERSION = '1.09';
use strict; use strict;
@@ -215,7 +216,8 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::SONMP - SNMP Interface to SynOptics Network Management Protocol (SONMP) SNMP::Info::SONMP - SNMP Interface to SynOptics Network Management Protocol
(SONMP)
=head1 AUTHOR =head1 AUTHOR
@@ -274,9 +276,9 @@ None.
=over =over
=item SYNOPTICS-ROOT-MIB =item F<SYNOPTICS-ROOT-MIB>
=item S5-ETH-MULTISEG-TOPOLOGY-MIB =item F<S5-ETH-MULTISEG-TOPOLOGY-MIB>
=back =back
@@ -307,13 +309,13 @@ Is SONMP is active in this device?
Returns the IP that the device is sending out for its Nmm topology info. Returns the IP that the device is sending out for its Nmm topology info.
(B<s5EnMsTopIpAddr>) (C<s5EnMsTopIpAddr>)
=item $sonmp->cdp_run() =item $sonmp->cdp_run()
Returns true if SONMP is on for this device. Returns true if SONMP is on for this device.
(B<s5EnMsTopStatus>) (C<s5EnMsTopStatus>)
=item $sonmp->mac() =item $sonmp->mac()
@@ -326,7 +328,7 @@ Returns MAC of the advertised IP address of the device.
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 Layer2 Topology info (B<s5EnMsTopNmmTable>) =head2 Layer2 Topology info (C<s5EnMsTopNmmTable>)
=over =over
@@ -334,29 +336,29 @@ to a hash.
Returns reference to hash. Key: Table entry, Value:slot number Returns reference to hash. Key: Table entry, Value:slot number
(B<s5EnMsTopNmmSlot>) (C<s5EnMsTopNmmSlot>)
=item $sonmp->sonmp_topo_port() =item $sonmp->sonmp_topo_port()
Returns reference to hash. Key: Table entry, Value:Port Number (interface iid) Returns reference to hash. Key: Table entry, Value:Port Number (interface iid)
(B<s5EnMsTopNmmPort>) (C<s5EnMsTopNmmPort>)
=item $sonmp->sonmp_topo_ip() =item $sonmp->sonmp_topo_ip()
Returns reference to hash. Key: Table entry, Value:Remote IP address of entry Returns reference to hash. Key: Table entry, Value:Remote IP address of entry
(B<s5EnMsTopNmmIpAddr>) (C<s5EnMsTopNmmIpAddr>)
=item $sonmp->sonmp_topo_seg() =item $sonmp->sonmp_topo_seg()
Returns reference to hash. Key: Table entry, Value:Remote Segment ID Returns reference to hash. Key: Table entry, Value:Remote Segment ID
(B<s5EnMsTopNmmSegId>) (C<s5EnMsTopNmmSegId>)
=item $sonmp->sonmp_topo_mac() =item $sonmp->sonmp_topo_mac()
(B<s5EnMsTopNmmMacAddr>) (C<s5EnMsTopNmmMacAddr>)
Returns reference to hash. Key: Table entry, Value:Remote MAC address Returns reference to hash. Key: Table entry, Value:Remote MAC address
@@ -364,18 +366,18 @@ Returns reference to hash. Key: Table entry, Value:Remote MAC address
Returns reference to hash. Key: Table entry, Value:Remote Device Type Returns reference to hash. Key: Table entry, Value:Remote Device Type
(B<s5EnMsTopNmmChassisType>) (C<s5EnMsTopNmmChassisType>)
=item $sonmp->sonmp_topo_localseg =item $sonmp->sonmp_topo_localseg
Returns reference to hash. Key: Table entry, Value: Boolean, if bay_topo_seg() Returns reference to hash. Key: Table entry, Value: Boolean, if bay_topo_seg()
is local. is local.
(B<s5EnMsTopNmmLocalSeg>) (C<s5EnMsTopNmmLocalSeg>)
=back =back
=head2 Psuedo CDP information =head2 Pseudo CDP information
All entries with port=0 are local and ignored. All entries with port=0 are local and ignored.
@@ -390,7 +392,7 @@ Returns reference to hash. Key: IID, Value: Local port (interfaces)
Returns reference to hash. Key: IID, Value: Remote IP address Returns reference to hash. Key: IID, Value: Remote IP address
If multiple entries exist with the same local port, c_if(), with different IPv4 If multiple entries exist with the same local port, c_if(), with different IPv4
addresses, c_ip(), there is either a non-SONMP device in between two or addresses, c_ip(), there is either a non SONMP device in between two or
more devices or multiple devices which are not directly connected. more devices or multiple devices which are not directly connected.
Use the data from the Layer2 Topology Table below to dig deeper. Use the data from the Layer2 Topology Table below to dig deeper.