Update README
This commit is contained in:
260
README
260
README
@@ -5,7 +5,7 @@ NAME
|
||||
|
||||
VERSION
|
||||
|
||||
SNMP::Info - Version 2.11
|
||||
SNMP::Info - Version 3.00_001
|
||||
|
||||
AUTHOR
|
||||
|
||||
@@ -293,14 +293,14 @@ SUBCLASSES
|
||||
See documentation in SNMP::Info::EtherLike for details.
|
||||
|
||||
SNMP::Info::FDP
|
||||
Foundry Discovery Protocol. FOUNDRY-SN-SWITCH-GROUP-MIB
|
||||
Foundry (Brocade) Discovery Protocol. FOUNDRY-SN-SWITCH-GROUP-MIB
|
||||
|
||||
See documentation in SNMP::Info::FDP for details.
|
||||
|
||||
SNMP::Info::IPv6
|
||||
SNMP Interface for obtaining configured IPv6 addresses and mapping
|
||||
IPv6 addresses to MACs and interfaces, using information from
|
||||
IP-MIB, IPV6-MIB and/or CISCO-IETF-IP-MIB.
|
||||
IPv6 addresses to MAC addresses and interfaces, using information
|
||||
from IP-MIB, IPV6-MIB and/or CISCO-IETF-IP-MIB.
|
||||
|
||||
See documentation in SNMP::Info::IPv6 for details.
|
||||
|
||||
@@ -333,15 +333,15 @@ SUBCLASSES
|
||||
See documentation in SNMP::Info::PowerEthernet for details.
|
||||
|
||||
SNMP::Info::RapidCity
|
||||
RAPID-CITY. Inherited by Nortel switches for duplex and VLAN
|
||||
RAPID-CITY. Inherited by Avaya switches for duplex and VLAN
|
||||
information.
|
||||
|
||||
See documentation in SNMP::Info::RapidCity for details.
|
||||
|
||||
SNMP::Info::SONMP
|
||||
SYNOPTICS-ROOT-MIB, S5-ETH-MULTISEG-TOPOLOGY-MIB. Provides
|
||||
translation from Nortel Topology Table information to CDP. Inherited
|
||||
by Nortel/Bay/Synoptics switches and hubs.
|
||||
SynOptics Network Management Protocol (SONMP) SYNOPTICS-ROOT-MIB,
|
||||
S5-ETH-MULTISEG-TOPOLOGY-MIB. Inherited by
|
||||
Avaya/Nortel/Bay/Synoptics switches and hubs.
|
||||
|
||||
See documentation in SNMP::Info::SONMP for details.
|
||||
|
||||
@@ -410,14 +410,12 @@ SUBCLASSES
|
||||
|
||||
See documentation in SNMP::Info::Layer2::Allied for details.
|
||||
|
||||
SNMP::Info::Layer2::Bay
|
||||
Depreciated. Use BayStack.
|
||||
|
||||
SNMP::Info::Layer2::Baystack
|
||||
Subclass for Nortel/Bay Ethernet Switch/Baystack switches. This
|
||||
includes 303, 304, 350, 380, 410, 420, 425, 450, 460, 470
|
||||
series, 2500 series, 4500 series, 5500 series, Business Ethernet
|
||||
Switch (BES), Business Policy Switch (BPS) and probably others.
|
||||
Subclass for Avaya/Nortel/Bay Ethernet Switch/Baystack switches.
|
||||
This includes 303, 304, 350, 380, 410, 420, 425, 450, 460, 470
|
||||
series, 2500 series, 4000 series, 5000 series, Business Ethernet
|
||||
Switch (BES), Business Policy Switch (BPS), VSP 7000 series, and
|
||||
probably others.
|
||||
|
||||
See documentation in SNMP::Info::Layer2::Baystack for details.
|
||||
|
||||
@@ -456,9 +454,6 @@ SUBCLASSES
|
||||
|
||||
See documentation in SNMP::Info::Layer2::Cisco for details.
|
||||
|
||||
SNMP::Info::Layer2::Foundry
|
||||
Depreciated. Use SNMP::Info::Layer3::Foundry.
|
||||
|
||||
SNMP::Info::Layer2::HP
|
||||
Subclass for more recent HP Procurve Switches
|
||||
|
||||
@@ -493,6 +488,11 @@ SUBCLASSES
|
||||
|
||||
See documentation in SNMP::Info::Layer2::Netgear for details.
|
||||
|
||||
SNMP::Info::Layer2::NWSS2300
|
||||
SNMP Interface to Avaya (Trapeze) Wireless Controllers
|
||||
|
||||
See documentation in SNMP::Info::Layer2::NWSS2300 for details.
|
||||
|
||||
SNMP::Info::Layer2::Orinoco
|
||||
Subclass for Orinoco/Proxim wireless access points.
|
||||
|
||||
@@ -527,8 +527,8 @@ SUBCLASSES
|
||||
details.
|
||||
|
||||
SNMP::Info::Layer3::AlteonAD
|
||||
Subclass for Nortel Alteon Series Layer 2-7 load balancing
|
||||
switches and Nortel BladeCenter Layer2-3 GbE Switch Modules.
|
||||
Subclass for Radware Alteon Series ADC switches and Nortel
|
||||
BladeCenter Layer2-3 GbE Switch Modules.
|
||||
|
||||
See documentation in SNMP::Info::Layer3::AlteonAD for details.
|
||||
|
||||
@@ -544,8 +544,8 @@ SUBCLASSES
|
||||
See documentation in SNMP::Info::Layer3::Aruba for details.
|
||||
|
||||
SNMP::Info::Layer3::BayRS
|
||||
Subclass for Nortel Multiprotocol/BayRS routers. This includes
|
||||
BCN, BLN, ASN, ARN, AN, 2430, and 5430 routers.
|
||||
Subclass for Avaya/Nortel/Bay Multiprotocol/BayRS routers. This
|
||||
includes BCN, BLN, ASN, ARN, AN, 2430, and 5430 routers.
|
||||
|
||||
See documentation in SNMP::Info::Layer3::BayRS for details.
|
||||
|
||||
@@ -583,7 +583,7 @@ SUBCLASSES
|
||||
See documentation in SNMP::Info::Layer3::CiscoFWSM for details.
|
||||
|
||||
SNMP::Info::Layer3::Contivity
|
||||
Subclass for Nortel Contivity/VPN Routers.
|
||||
Subclass for Avaya/Nortel Contivity/VPN Routers.
|
||||
|
||||
See documentation in SNMP::Info::Layer3::Contivity for details.
|
||||
|
||||
@@ -604,16 +604,26 @@ SUBCLASSES
|
||||
|
||||
See documentation in SNMP::Info::Layer3::Extreme for details.
|
||||
|
||||
SNMP::Info::Layer3::F5
|
||||
Subclass for F5 devices.
|
||||
|
||||
See documentation in SNMP::Info::Layer3::F5 for details.
|
||||
|
||||
SNMP::Info::Layer3::Force10
|
||||
Subclass for Force10 devices.
|
||||
|
||||
See documentation in SNMP::Info::Layer3::Force10 for details.
|
||||
|
||||
SNMP::Info::Layer3::Foundry
|
||||
Subclass for Foundry Network devices.
|
||||
Subclass for Brocade (Foundry) Network devices.
|
||||
|
||||
See documentation in SNMP::Info::Layer3::Foundry for details.
|
||||
|
||||
SNMP::Info::Layer3::H3C
|
||||
SNMP Interface to Layer 3 Devices, H3C & HP A-series.
|
||||
|
||||
See documentation in SNMP::Info::Layer3::H3C for details.
|
||||
|
||||
SNMP::Info::Layer3::HP9300
|
||||
Subclass for HP network devices which Foundry Networks was the
|
||||
Original Equipment Manufacturer (OEM) such as the HP ProCurve
|
||||
@@ -638,7 +648,7 @@ SUBCLASSES
|
||||
See documentation in SNMP::Info::Layer3::Mikrotik for details.
|
||||
|
||||
SNMP::Info::Layer3::N1600
|
||||
Subclass for Nortel Ethernet Routing Switch 1600 series.
|
||||
Subclass for Avaya/Nortel Ethernet Routing Switch 1600 series.
|
||||
|
||||
See documentation in SNMP::Info::Layer3::N1600 for details.
|
||||
|
||||
@@ -664,8 +674,8 @@ SUBCLASSES
|
||||
details.
|
||||
|
||||
SNMP::Info::Layer3::Passport
|
||||
Subclass for Nortel Ethernet Routing Switch/Passport 8000 series
|
||||
and Accelar series switches.
|
||||
Subclass for Avaya/Nortel Ethernet Routing Switch/Passport 8000
|
||||
series, Accelar, and VSP 9000 series switches.
|
||||
|
||||
See documentation in SNMP::Info::Layer3::Passport for details.
|
||||
|
||||
@@ -703,6 +713,11 @@ SUBCLASSES
|
||||
|
||||
See documentation in SNMP::Info::Layer7::APC for details.
|
||||
|
||||
SNMP::Info::Layer7::Netscaler
|
||||
SNMP Interface to Citrix Netscaler appliances
|
||||
|
||||
See documentation in SNMP::Info::Layer7::Netscaler for details.
|
||||
|
||||
SNMP::Info::Layer7::Neoteris
|
||||
SNMP Interface to Juniper SSL VPN appliances
|
||||
|
||||
@@ -731,6 +746,7 @@ USAGE
|
||||
'BigInt' => 1,
|
||||
'BulkWalk' => 1,
|
||||
'BulkRepeaters' => 20,
|
||||
'IgnoreNetSNMPConf' => 1,
|
||||
'LoopDetect' => 1,
|
||||
'DestHost' => 'myrouter',
|
||||
'Community' => 'public',
|
||||
@@ -774,7 +790,20 @@ USAGE
|
||||
|
||||
Set to 0 to turn off loop detection.
|
||||
|
||||
(default 1, which measn "on")
|
||||
(default 1, which means "on")
|
||||
|
||||
IgnoreNetSNMPConf
|
||||
Net-SNMP version 5.0 and higher read configuration files,
|
||||
snmp.conf or snmp.local.conf, from /etc/snmp, /usr/share/snmp,
|
||||
/usr/lib(64)/snmp, or $HOME/.snmp and uses those settings to
|
||||
automatically parse MIB files, etc.
|
||||
|
||||
Set to 1 "on" to ignore Net-SNMP configuration files by
|
||||
overriding the "SNMPCONFPATH" environmental variable during
|
||||
object initialization. Note: MibDirs must be defined or Net-SNMP
|
||||
will not be able to load MIBs and initialize the object.
|
||||
|
||||
(default 0, which means "off")
|
||||
|
||||
Debug
|
||||
Prints Lots of debugging messages. Pass 2 to print even more
|
||||
@@ -1025,6 +1054,10 @@ USAGE
|
||||
Virtual Lans (VLANs) such as the Loopback interface, or the CPU
|
||||
interface.
|
||||
|
||||
$info->bulkwalk_no()
|
||||
Returns 0. Is an overridable method used for turn off bulkwalk for
|
||||
the device class.
|
||||
|
||||
$info->i_index()
|
||||
Default SNMP IID to Interface index.
|
||||
|
||||
@@ -1335,6 +1368,86 @@ USAGE
|
||||
|
||||
("ipRouteInfo")
|
||||
|
||||
Topology Information
|
||||
|
||||
Based upon the manufacturer and software version devices may support
|
||||
some combination of Layer 2 topology protocol information. SNMP::Info
|
||||
supports querying Link Layer Discovery Protocol (LLDP), Cisco Discovery
|
||||
Protocol (CDP), SynOptics/Bay/Nortel/Avaya Network Management Protocol
|
||||
(SONMP), Foundry/Brocade Discovery Protocol (FDP), and Extreme Discovery
|
||||
Protocol (EDP).
|
||||
|
||||
For protocol specific information and implementation:
|
||||
|
||||
LLDP: See SNMP::Info::LLDP for details.
|
||||
CDP: See SNMP::Info::CDP for details.
|
||||
SONMP: See SNMP::Info::SONMP for details.
|
||||
FDP: See SNMP::Info::FDP for details.
|
||||
EDP: See SNMP::Info::EDP for details.
|
||||
|
||||
Topology Capabilities
|
||||
|
||||
$info->has_topo()
|
||||
Reports Layer 2 topology protocols which are supported and running
|
||||
on a device.
|
||||
|
||||
Returns either a reference to an array of protocols, possible values
|
||||
being: "lldp", "cdp", "sonmp", "fdp", "edp" or "undef" if no
|
||||
protocols are supported or running.
|
||||
|
||||
Common Topology Table Information
|
||||
|
||||
The common topology table methods below will query the device for
|
||||
information from the specified topology protocols and return a single
|
||||
hash combining all information. As a result, there may be identical
|
||||
topology information returned from the two protocols causing duplicate
|
||||
entries. It is the calling program's responsibility to identify any
|
||||
duplicate entries and remove duplicates if necessary. If it is necessary
|
||||
to understand which protocol provided the information, utilize the
|
||||
protocol specific methods directly rather than the generic methods.
|
||||
|
||||
The methods support partial table fetches by providing a partial as the
|
||||
first argument.
|
||||
|
||||
If a reference to an array is provided as the second argument, those
|
||||
protocols will be queried for information. The supported array values
|
||||
are: "lldp", "cdp", "sonmp", "fdp", "edp".
|
||||
|
||||
If nothing is passed in as the second argument, the methods will call
|
||||
has_topo() to determine supported and running topology protocols on the
|
||||
device.
|
||||
|
||||
$info->c_ip(partial, topology_protocol_arrayref)
|
||||
Returns reference to hash. Key: iid, Value: remote IPv4 address
|
||||
|
||||
If multiple entries exist with the same local port, c_if(), with the
|
||||
same IPv4 address, c_ip(), it may be a duplicate entry.
|
||||
|
||||
If multiple entries exist with the same local port, c_if(), with
|
||||
different IPv4 addresses, c_ip(), there is either a device in
|
||||
between two or more devices utilizing a different topology protocol
|
||||
or multiple devices which are not directly connected.
|
||||
|
||||
Use the protocol specific methods to dig deeper.
|
||||
|
||||
$info->c_if(partial, topology_protocol_arrayref)
|
||||
Returns reference to hash. Key: iid, Value: local device port
|
||||
(interfaces)
|
||||
|
||||
$info->c_port(partial, topology_protocol_arrayref)
|
||||
Returns reference to hash. Key: iid, Value: remote port (interfaces)
|
||||
|
||||
$info->c_id(partial, topology_protocol_arrayref)
|
||||
Returns reference to hash. Key: iid, Value: string value used to
|
||||
identify the chassis component associated with the remote system.
|
||||
|
||||
Note: SONMP does not return this information.
|
||||
|
||||
$info->c_platform(partial, topology_protocol_arrayref)
|
||||
Returns reference to hash. Key: iid, Value: Remote Device Type
|
||||
|
||||
Note: LLDP and EDP do not provide this information.
|
||||
|
||||
SETTING DATA VIA SNMP
|
||||
|
||||
This section explains how to use SNMP::Info to do SNMP Set operations.
|
||||
@@ -1711,23 +1824,33 @@ SNMP::INFO INTERNALS
|
||||
};
|
||||
|
||||
$info->_global()
|
||||
Used internally by AUTOLOAD to load dynamic methods from %GLOBALS.
|
||||
Used internally by AUTOLOAD to create dynamic methods from %GLOBALS
|
||||
or a single instance MIB Leaf node name from a loaded MIB.
|
||||
|
||||
Example: $info->name() calls autoload which calls
|
||||
$info->_global('name').
|
||||
Example: $info->name() on the first call dispatches to AUTOLOAD()
|
||||
which calls $info->_global('name') creating the method name().
|
||||
|
||||
These methods return data as a scalar.
|
||||
|
||||
$info->_set(attr,val,iid,type)
|
||||
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 the set_multi() method to set multiple variable in
|
||||
one command. When run clears attr cache.
|
||||
Used internally by set_multi() to run an SNMP set command. When run
|
||||
clears attr cache.
|
||||
|
||||
Attr is passed as either a scalar for dynamic methods or a reference
|
||||
to an array or array of arrays when used with set_multi().
|
||||
Attr can be passed as either a scalar or a reference to an array or
|
||||
array of arrays when used with set_multi().
|
||||
|
||||
Example: $info->set_name('dog',3) uses autoload to resolve to
|
||||
$info->_set('name','dog',3);
|
||||
|
||||
$info->_make_setter(val,iid)
|
||||
Used internally by AUTOLOAD to create dynamic methods from either
|
||||
%GLOBALS, %FUNCS, or a valid mib leaf from a loaded MIB which runs
|
||||
an SNMP set command. When run clears the attribute cache.
|
||||
|
||||
Example: $info->set_name('dog',3) dispatches to autoload to resolve
|
||||
to $info->_set('name','dog',3) and _make_setter creates the
|
||||
set_name() method.
|
||||
|
||||
$info->set_multi(arrayref)
|
||||
Used to run an SNMP set command on several new values in the one
|
||||
request. Returns the result of $info->_set(method).
|
||||
@@ -1775,13 +1898,13 @@ SNMP::INFO INTERNALS
|
||||
Note return value has changed since version 0.3
|
||||
|
||||
$info->_load_attr()
|
||||
Used internally by AUTOLOAD to fetch data called from methods listed
|
||||
in %FUNCS or a MIB Leaf node name.
|
||||
Used internally by AUTOLOAD to create dynamic methods from %FUNCS or
|
||||
a MIB Leaf node name contained within a table of a loaded MIB.
|
||||
|
||||
Supports partial table fetches and single instance table fetches.
|
||||
See "Partial Table Fetches" in SNMP::Info.
|
||||
|
||||
Called from $info->load_METHOD();
|
||||
These methods return data as a reference to a hash.
|
||||
|
||||
$info->_show_attr()
|
||||
Used internally by AUTOLOAD to return data called by methods listed
|
||||
@@ -1799,32 +1922,49 @@ SNMP::INFO INTERNALS
|
||||
Replaces the specified bit in a port_list array and returns the
|
||||
packed bitmask
|
||||
|
||||
_validate_autoload_method(method)
|
||||
Used internally by AUTOLOAD to validate that a dynamic method should
|
||||
be created. Returns the OID of the MIB leaf node the method will get
|
||||
or set.
|
||||
|
||||
1. Returns unless method is listed in %FUNCS, %GLOBALS, or is MIB
|
||||
Leaf node name in a loaded MIB for given class.
|
||||
2. Translates the MIB Leaf node name to an OID.
|
||||
3. Checks to see if the method access type is allowed for the
|
||||
resolved OID. Write access for set_ methods, read access for others.
|
||||
|
||||
$info->can()
|
||||
Overrides UNIVERSAL::can() so that objects will correctly report
|
||||
their capabilities to include dynamic methods generated at run time
|
||||
via AUTOLOAD.
|
||||
|
||||
Calls parent can() first to see if method exists, if not validates
|
||||
that a method should be created then dispatches to the appropriate
|
||||
internal method for creation. The newly created method is inserted
|
||||
into the symbol table returning to AUTOLOAD only for the initial
|
||||
method call.
|
||||
|
||||
Returns undef if the method does not exist and can not be created.
|
||||
|
||||
AUTOLOAD
|
||||
|
||||
Each entry in either %FUNCS, %GLOBALS, or MIB Leaf node names present in
|
||||
loaded MIBs are used by AUTOLOAD() to create dynamic methods.
|
||||
loaded MIBs are used by AUTOLOAD() to create dynamic methods. Generated
|
||||
methods are inserted into the symbol table so that subsequent calls can
|
||||
avoid AUTOLOAD() and dispatch directly.
|
||||
|
||||
Note that this AUTOLOAD is going to be run for all the classes listed in
|
||||
the @ISA array in a subclass, so will be called with a variety of
|
||||
package names. We check the %FUNCS and %GLOBALS of the package that is
|
||||
doing the calling at this given instant.
|
||||
|
||||
1. Returns unless method is listed in %FUNCS, %GLOBALS, or is MIB Leaf
|
||||
1. Returns unless method is listed in %FUNCS, %GLOBALS, or is a MIB Leaf
|
||||
node name in a loaded MIB for given class.
|
||||
2. Checks for load_ prefix and if present runs $info->_global(method)
|
||||
for methods which exist in %GLOBALS or are a single instance MIB Leaf
|
||||
node name, otherwise runs $info->_load_attr(method) for methods which
|
||||
exist in %FUNCS or are MIB Leaf node name contained within a table. This
|
||||
always forces reloading and does not use cached data.
|
||||
3. Check for set_ prefix and if present runs $info->_set(method).
|
||||
4. If the method exists in %GLOBALS or is a single instance MIB Leaf
|
||||
node name it runs $info->_global(method) unless already cached.
|
||||
5. If the method exists in %FUNCS or is MIB Leaf node name contained
|
||||
within a table it runs $info->_load_attr(method) if not cached.
|
||||
6. Otherwise return $info->_show_attr(method).
|
||||
2. If the method exists in %GLOBALS or is a single instance MIB Leaf
|
||||
node name from a loaded MIB, _global() generates the method.
|
||||
3. If a set_ prefix is present _make_setter() generates the method.
|
||||
4. If the method exists in %FUNCS or is a MIB Leaf node name contained
|
||||
within a table from a loaded MIB, _load_attr() generates the method.
|
||||
5. A load_ prefix forces reloading of data and does not use cached data.
|
||||
6. A _raw suffix returns data ignoring any munge routines.
|
||||
|
||||
Override any dynamic method listed in one of these hashes by creating a
|
||||
subroutine with the same name.
|
||||
Override any dynamic method listed in %GLOBALS, %FUNCS, or MIB Leaf node
|
||||
name a by creating a subroutine with the same name.
|
||||
|
||||
For example to override $info->name() create `` sub name {...}'' in your
|
||||
subclass.
|
||||
|
||||
Reference in New Issue
Block a user