NAME

SNMP::Info::MAU - SNMP Interface to Medium Access Unit (MAU) MIB (RFC 2668) via SNMP

AUTHOR

Max Baker

SYNOPSIS

my $mau = new SNMP::Info ( 
                            AutoSpecify => 1,
                            Debug       => 1,
                            DestHost    => 'hpswitch', 
                            Community   => 'public',
                            Version     => 2
                          );

my $class = $mau->class();
print " Using device sub class : $class\n";

DESCRIPTION

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 devices like HP Switches. MAU = Media Access Unit.

The MAU table contains link and duplex info for the port itself and the device connected to that port.

Normally you use or create a subclass of SNMP::Info that inherits this one. Do not use directly.

For debugging purposes call the class directly as you would SNMP::Info

my $mau = new SNMP::Info::MAU(...);

Inherited Classes

None.

Required MIBs

MAU-MIB

GLOBALS

These are methods that return scalar value from SNMP

None

TABLE METHODS

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

$mau->mau_i_duplex()

Parses mau_index and mau_link to return the duplex information for interfaces.

$mau->mau_i_duplex_admin()

Parses mac_index,mau_autostat,mau_type_admin in order to find the admin duplex setting for all the interfaces.

Returns either (auto,full,half).

$mau->mau_i_duplex_admin_old()

Called by mau_i_duplex_admin() if mau_type_admin is empty. Parses mau_index,mau_autostat,mau_autosent in order to find the admin duplex setting for all the interfaces.

Returns either (auto,none,full,half).

$mau->mau_i_speed_admin()

Returns admin speed setting for all the interfaces.

MAU INTERFACE TABLE METHODS

$mau->mau_index() - Returns a list of interfaces and their index in the MAU IF Table.

(ifMauIfIndex)

$mau->mau_link() - Returns the type of Media Access used.
This is essentially the type of link in use.  
eg. dot3MauType100BaseTXFD - 100BaseT at Full Duplex

(ifMauType)

1 - other
2 - unknown
3 - operational
4 - standby
5 - shutdown
6 - reset

Use 5 and !5 to see if the link is up or down on the admin side.

(ifMauStatus)

(C<ifMauMediaAvailable>)
$mau->mau_type() - Returns a 32bit string reporting the capabilities of the port from a MAU POV.
Directly from F<MAU-MIB> : 
        Bit   Capability
          0      other or unknown
          1      AUI
          2      10BASE-5
          3      FOIRL
          4      10BASE-2
          5      10BASE-T duplex mode unknown
          6      10BASE-FP
          7      10BASE-FB
          8      10BASE-FL duplex mode unknown
          9      10BROAD36
         10      10BASE-T  half duplex mode
         11      10BASE-T  full duplex mode
         12      10BASE-FL half duplex mode
         13      10BASE-FL full duplex mode
         14      100BASE-T4
         15      100BASE-TX half duplex mode
         16      100BASE-TX full duplex mode
         17      100BASE-FX half duplex mode
         18      100BASE-FX full duplex mode
         19      100BASE-T2 half duplex mode
         20      100BASE-T2 full duplex mode

(ifMauTypeList)

$mau->mau_type_admin()

(ifMauDefaultType)

$mau->mau_auto() - Returns status of auto-negotiation mode for ports.

(ifMauAutoNegAdminStatus)

$mau->mau_autostat()

(ifMauAutoNegAdminStatus)

$mau->mau_autosent() - Returns a 32 bit bit-string representing the capabilities we are broadcasting on that port
Uses the same decoder as $mau->mau_type().

(ifMauAutoNegCapAdvertised)

$mau->mau_autorec() - Returns a 32 bit bit-string representing the capabilities of the device on the other end.
Uses the same decoder as $mau->mau_type().

(ifMauAutoNegCapReceived)

Utility Functions

munge_int2bin() - Unpacks an integer into a 32bit bit string.
$mau->_isfullduplex(bitstring)
Boolean. Checks to see if any of the full_duplex types from mau_type()
are     high.  Currently bits 11,13,16,18,20.
$mau->_ishalfduplex(bitstring)
Boolean.  Checks to see if any of the half_duplex types from mau_type()
are high.  Currently bits 10,12,15,17,19.