---
name: "SNMP::Info::Layer3::Nexus"
section: "3pm"
platform: "linux"
package: "libsnmp-info-perl"
version: "3.972002-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SNMP::Info::Layer3::Nexus"
---

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

SNMP Interface to Cisco Nexus Switches running NX-OS

## 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.
