The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SNMP::Info::Layer3::Huawei - SNMP Interface to Huawei switches and routers.

AUTHORS

Jeroen van Ingen and Eric Miller

SYNOPSIS

 # Let SNMP::Info determine the correct subclass for you. 
 my $huawei = new SNMP::Info(
                          AutoSpecify => 1,
                          Debug       => 1,
                          DestHost    => 'myrouter',
                          Community   => 'public',
                          Version     => 2
                        ) 
    or die "Can't connect to DestHost.\n";

 my $class      = $huawei->class();
 print "SNMP::Info determined this device to fall under subclass : $class\n";

DESCRIPTION

Subclass for Huawei switches

Inherited Classes

SNMP::Info::Layer3
SNMP::Info::IEEE802dot3ad

Required MIBs

HUAWEI-MIB
HUAWEI-PORT-MIB
HUAWEI-IF-EXT-MIB
HUAWEI-L2IF-MIB
HUAWEI-POE-MIB
HUAWEI-ENTITY-EXTENT-MIB
Inherited Classes' MIBs

See SNMP::Info::Layer3 for its own MIB requirements.

See SNMP::Info::IEEE802dot3ad for its own MIB requirements.

GLOBALS

These are methods that return scalar value from SNMP

$huawei->vendor()

Returns 'Huawei'.

$huawei->os()

Returns 'VRP' if contained in sysDescr, 'huawei' otherwise.

$huawei->os_ver()

Returns the software version derived from the ENTITY-MIB or extracted from sysDescr.

$huawei->mac()

Base MAC of the device.

(dot1dBaseBridgeAddress)

$huawei->fan()

Return the status of all fans from the HUAWEI-ENTITY-EXTENT-MIB. Returns a string indicating the number of fans 'OK' or identification of any fan without a 'normal' operating status

$huawei->ps1_status()

Return the status of the first power supply in each chassis or switch from the HUAWEI-ENTITY-EXTENT-MIB

$huawei->ps2_status()

Return the status of the second power supply in each chassis or switch from the HUAWEI-ENTITY-EXTENT-MIB

Globals imported from SNMP::Info::Layer3

See documentation in SNMP::Info::Layer3 for details.

TABLE ENTRIES

These are methods that return tables of information in the form of a reference to a hash.

$huawei->i_duplex()

Returns reference to map of IIDs to current link duplex.

$huawei->i_duplex_admin()

Returns reference to hash of IIDs to admin duplex setting.

POE Slot Table

$huawei->peth_power_watts()

The slot's power supply's capacity, in watts.

hwPoeSlotMaximumPower

$huawei->peth_power_consumption()

How much power, in watts, this power supply has been committed to deliver.

hwPoeSlotConsumingPower

$huawei->peth_power_threshold()

The threshold (in percent) of consumption required to raise an alarm.

hwPoeSlotPowerUtilizationThreshold

Overrides

$huawei->i_ignore()

Returns reference to hash. Increments value of IID if port is to be ignored.

Ignores InLoopback and Console interfaces

$huawei->bp_index()

Returns a mapping between ifIndex and the Bridge Table. Uses hwL2IfPortIfIndex for the most complete mapping and falls back to dot1dBasePortIfIndex if not available.

agg_ports

Returns a HASH reference mapping from slave to master port for each member of a port bundle on the device. Keys are ifIndex of the slave ports, Values are ifIndex of the corresponding master ports. Attempts to use hwTrunkIfTable first and then dot3adAggPortListPorts if that is unavailable.

i_mtu

Interface MTU value. Overridden with corresponding frame size entry from hwEthernetJumboframeMaxLength if one exists.

Power Port Table

The index of these methods have been normalized to slot.port and values munged to provide compatibility with the IEEE 802.3af POWER-ETHERNET-MIB and equivalent SNMP::Info::PowerEthernet methods.

$huawei->peth_port_admin()

Administrative status: is this port permitted to deliver power?

$huawei->peth_port_status()

Current status: is this port delivering power, searching, disabled, etc?

$huawei->peth_port_class()

Device class: if status is delivering power, this represents the 802.3af class of the device being powered.

$huawei->peth_port_power()

Power supplied the port, in milliwatts

$huawei->peth_port_ifindex()

Returns an index of slot.port to an ifIndex. Slot defaults to zero meaning chassis or box if there is no ifIndex to slot mapping available in hwPhysicalPortInSlot. Mapping the index to slot.port is a normalization function to provide compatibility with the IEEE 802.3af POWER-ETHERNET-MIB.

$huawei->peth_port_neg_power()

The power, in milliwatts, that has been committed to this port. This value is derived from the 802.3af class of the device being powered.

Table Methods imported from SNMP::Info::Layer3

See documentation in SNMP::Info::Layer3 for details.

Table Methods imported from SNMP::Info::IEEE802dot3ad

See documentation in SNMP::Info::IEEE802dot3ad for details.

Data Munging Callback Subroutines

$huawei->munge_hw_peth_admin()

Normalizes hwPoePortEnable values to 'true' or 'false'.

$huawei->munge_hw_peth_class()

Normalizes hwPoePortPdClass values by prepending 'class'.

$huawei->munge_hw_peth_power()

Converts and rounds to a whole number milliwatts to watts.

$huawei->munge_hw_peth_status()

Normalizes hwPoePortPowerStatus values to those that would be returned by the the IEEE 802.3af POWER-ETHERNET-MIB.