SNMP::Info::Layer3::Nexus(3)

NAME
SNMP::Info::Layer3::Nexus - SNMP Interface to Cisco Nexus Switches running NX-OS

AUTHOR
Eric Miller

SYNOPSIS
 # Let SNMP::Info determine the correct subclass for you.
 my $nexus = new SNMP::Info(
                                                AutoSpecify => 1,
                                                Debug       => 1,
                                                # These arguments are passed directly to SNMP::Session
                                                DestHost    => 'myswitch',
                                                Community   => 'public',
                                                Version     => 2
                                                )
        or die "Can't connect to DestHost.\n";

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

DESCRIPTION
Abstraction subclass for Cisco Nexus Switches running NX-OS.

For speed or debugging purposes you can call the subclass directly, but not after determining a more specific class using the method above.

 my $nexus = new SNMP::Info::Layer3::Nexus(...);

  Inherited Classes

SNMP::Info::Layer3::CiscoSwitch

  Required MIBs

CISCO-ENTITY-VENDORTYPE-OID-MIB
CISCO-CONTEXT-MAPPING-MIB

Inherited Classes' MIBs
    See "Required MIBs" in SNMP::Info::Layer3::CiscoSwitch for its own MIB requirements.

GLOBALS
These are methods that return a scalar value from SNMP

$nexus->os()
    Returns 'nx-os'

$nexus->os_ver()
    Returns operating system version extracted from "sysDescr".

$nexus->serial()
    Returns the serial number of the chassis from ENTITY-MIB.

$nexus->model()
    Tries to reference $nexus->id() to CISCO-ENTITY-VENDORTYPE-OID-MIB

    Removes 'cevChassis' for readability.

$nexus->mac()
    "dot1dBaseBridgeAddress"

  Overrides
IP Address Table

Each entry in this table is an IP address in use on this device. Some versions do not index the table with the IPv4 address in accordance with the MIB definition, these overrides correct that behavior.

Also, the table is augmented with IP addresses in use by UDP sockets on the device, as determined by checking RFC1213-MIB::udpLocalAddress. Valid addresses from this table (any IPv4 that is not localhost, 0.0.0.0, Class D (multicast) or Class E (experimental) are added as a /32 on interface ID 0. This is a workaround to determine possible VPC Keepalive IP addresses on the device, which are probably advertised by CDP/LLDP to neighbors.

$nexus->ip_index()
    Maps the IP Table to the IID

    ("ipAdEntIfIndex")

$nexus->ip_table()
    Maps the Table to the IP address

    ("ipAdEntAddr")

$nexus->ip_netmask()
    Gives netmask setting for IP table entry.

    ("ipAdEntNetMask")

$nexus->ip_broadcast()
    Gives broadcast address for IP table entry.

    ("ipAdEntBcastAddr")

$nexus->lldp_lport_desc()
    On nx-os 6 only this will return data from "lldpLocPortId" instead of the expected "lldpLocPortDesc". For all other nx-os versions uses the function from SNMP::Info::LLDP.

  Globals imported from SNMP::Info::Layer3::CiscoSwitch
See documentation in "GLOBALS" in SNMP::Info::Layer3::CiscoSwitch for details.

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

  Table Methods imported from SNMP::Info::Layer3::CiscoSwitch
See documentation in "TABLE METHODS" in SNMP::Info::Layer3::CiscoSwitch for details.