Subject: | Cisco NX-OS 6.x Breaks ipAddrTable Indexes |
Date: | Tue, 24 Sep 2013 09:10:01 -0400 |
To: | bug-SNMP-Info [...] rt.cpan.org |
From: | "Matthew L. Dailey" <matthew.l.dailey [...] dartmouth.edu> |
Greetings.
We just upgraded one of our routers from version 5.2 to version 6.1 or NX-OS, and it appears that Cisco has decided to stop following the MIB for ipAddrTable. At this version they are inserting a '4' in the index, making the index of this table different from ipAdEntAddr. For programs that assume (correctly) that these should be the same, this causes problems. Here is example output from the NX-OS 6.1 router:
$ snmpwalk -v2c -cmystring 192.168.90.13 .1.3.6.1.2.1.4.20.1.1
IP-MIB::ipAdEntAddr.4.10.20.208.1 = IpAddress: 10.20.208.1
IP-MIB::ipAdEntAddr.4.10.80.0.69 = IpAddress: 10.80.0.69
IP-MIB::ipAdEntAddr.4.10.80.1.1 = IpAddress: 10.80.1.1
IP-MIB::ipAdEntAddr.4.10.80.1.129 = IpAddress: 10.80.1.129
<snip>
Therefore, the results of ip_table() look like this:
SNMP::Info::_global layers : SNMPv2-MIB::sysServices.0 : .1.3.6.1.2.1.1.7.0
SNMP::Info::_global description : SNMPv2-MIB::sysDescr.0 : .1.3.6.1.2.1.1.1.0
SNMP::Info::_global id : SNMPv2-MIB::sysObjectID.0 : .1.3.6.1.2.1.1.2.0
SNMP::Info 3.05
SNMP::Info::device_type() layers:01000110 id:9 sysDescr:"Cisco NX-OS(tm) n7000, Software (n7000-s1-dk9), Version 6.1(4), RELEASE SOFTWARE Copyright (c) 2002-2012 by Cisco Systems, Inc. Compiled 3/11/2013 23:00:00"
SNMP::Info::specify() - Changed Class to SNMP::Info::Layer3::Nexus.
SNMP::Info determined this device to fall under subclass : SNMP::Info::Layer3::Nexus
SNMP::Info::_load_attr ip_table : IP-MIB::ipAdEntAddr : .1.3.6.1.2.1.4.20.1.1
$VAR1 = {
'4.10.80.26.1' => '10.80.26.1',
'4.10.80.3.1' => '10.80.3.1',
'4.172.20.149.2' => '172.20.149.2',
'4.10.80.12.1' => '10.80.12.1',
<snip>
Is there any way to add a workaround in the SNMP::Info::Layer3::Nexus code? My guess is that since this part of the MIB is deprecated, Cisco is instead focusing on ipAddressTable, and this is likely not to be reverted.
Thanks and please let me know if you have any questions or need any other information.
Best,
Matthew L. Dailey
Systems Administrator
Thayer School of Engineering
Dartmouth College