logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Eric Miller

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(...);

   InheritedClasses
       SNMP::Info::Layer3::CiscoSwitch

   RequiredMIBsCISCO-ENTITY-VENDORTYPE-OID-MIBCISCO-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"

   OverridesIPAddressTable

       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.

   GlobalsimportedfromSNMP::Info::Layer3::CiscoSwitch
       See documentation in "GLOBALS" in SNMP::Info::Layer3::CiscoSwitch for details.

Name

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

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";

Table Methods

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

   TableMethodsimportedfromSNMP::Info::Layer3::CiscoSwitch
       See documentation in "TABLE METHODS" in SNMP::Info::Layer3::CiscoSwitch for details.

perl v5.40.0                                       2024-11-09                     SNMP::Info::Layer3::Nexus(3pm)

See Also