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

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
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)

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.