Enlinkd CDP code fails to parse hex-encoded IP address string

Description

Here's a very strange stack trace from the CDP code:

2015-09-01 22:59:33,476 WARN [DefaultUDPTransportMapping_0.0.0.0/0] o.o.n.s.TableTracker: Failed to process response java.lang.NumberFormatException: For input string: "3135382e33352e3132302e313233" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[?:1.7.0_75] at java.lang.Long.parseLong(Long.java:444) ~[?:1.7.0_75] at org.opennms.core.utils.InetAddressUtils.getIpAddressByHexString(InetAddressUtils.java:522) ~[opennms-util-2015.1.0.jar:?] at org.opennms.netmgt.enlinkd.snmp.CdpCacheTableTracker$CdpCacheRow.getCdpCacheIpv4Address(CdpCacheTableTracker.java:166) ~[opennms-services-2015.1.0.jar:?] at org.opennms.netmgt.enlinkd.snmp.CdpCacheTableTracker$CdpCacheRow.getLink(CdpCacheTableTracker.java:209) ~[opennms-services-2015.1.0.jar:?] at org.opennms.netmgt.enlinkd.NodeDiscoveryCdp$1.processCdpCacheRow(NodeDiscoveryCdp.java:115) ~[opennms-services-2015.1.0.jar:?] at org.opennms.netmgt.enlinkd.snmp.CdpCacheTableTracker.rowCompleted(CdpCacheTableTracker.java:244) ~[opennms-services-2015.1.0.jar:?] at org.opennms.netmgt.snmp.SnmpTableResult.handleCompleteRows(SnmpTableResult.java:99) ~[org.opennms.core.snmp.api-2015.1.0.jar:?] at org.opennms.netmgt.snmp.SnmpTableResult.storeResult(SnmpTableResult.java:75) ~[org.opennms.core.snmp.api-2015.1.0.jar:?]

It looks like the value is a hex representation of the ASCII IP address string.

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Antonio Russo September 4, 2015 at 4:04 PM

Merged into foundation....

Foundation is merged automatically in develop.....
MacBook-Pro-di-Antonio-Russo:opennms antonio$ git push
Counting objects: 12, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 300 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
To git@github.com:OpenNMS/opennms.git
cfca615..282259d foundation -> foundation

Seth Leger September 4, 2015 at 12:49 PM

Here's some snmpwalk data from the reporter of the issue:

1.3.6.1.4.1.9.9.23.1.2.1.1.3.120.17 CISCO-CDP-MIB.cdpCacheAddressType.120.17 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.122.26 CISCO-CDP-MIB.cdpCacheAddressType.122.26 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.123.27 CISCO-CDP-MIB.cdpCacheAddressType.123.27 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.125.16 CISCO-CDP-MIB.cdpCacheAddressType.125.16 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.128.18 CISCO-CDP-MIB.cdpCacheAddressType.128.18 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.129.21 CISCO-CDP-MIB.cdpCacheAddressType.129.21 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.131.20 CISCO-CDP-MIB.cdpCacheAddressType.131.20 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.132.22 CISCO-CDP-MIB.cdpCacheAddressType.132.22 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.133.28 CISCO-CDP-MIB.cdpCacheAddressType.133.28 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.134.29 CISCO-CDP-MIB.cdpCacheAddressType.134.29 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.140.24 CISCO-CDP-MIB.cdpCacheAddressType.140.24 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.141.25 CISCO-CDP-MIB.cdpCacheAddressType.141.25 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.142.19 CISCO-CDP-MIB.cdpCacheAddressType.142.19 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.143.23 CISCO-CDP-MIB.cdpCacheAddressType.143.23 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.144.12 CISCO-CDP-MIB.cdpCacheAddressType.144.12 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.145.13 CISCO-CDP-MIB.cdpCacheAddressType.145.13 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.152.49 CISCO-CDP-MIB.cdpCacheAddressType.152.49 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.153.50 CISCO-CDP-MIB.cdpCacheAddressType.153.50 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.155.45 CISCO-CDP-MIB.cdpCacheAddressType.155.45 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.156.44 CISCO-CDP-MIB.cdpCacheAddressType.156.44 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.159.48 CISCO-CDP-MIB.cdpCacheAddressType.159.48 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.165.39 CISCO-CDP-MIB.cdpCacheAddressType.165.39 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.173.52 CISCO-CDP-MIB.cdpCacheAddressType.173.52 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.176.47 CISCO-CDP-MIB.cdpCacheAddressType.176.47 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.177.53 CISCO-CDP-MIB.cdpCacheAddressType.177.53 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.178.32 CISCO-CDP-MIB.cdpCacheAddressType.178.32 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.179.33 CISCO-CDP-MIB.cdpCacheAddressType.179.33 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.180.34 CISCO-CDP-MIB.cdpCacheAddressType.180.34 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.181.35 CISCO-CDP-MIB.cdpCacheAddressType.181.35 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.182.40 CISCO-CDP-MIB.cdpCacheAddressType.182.40 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.183.41 CISCO-CDP-MIB.cdpCacheAddressType.183.41 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.184.42 CISCO-CDP-MIB.cdpCacheAddressType.184.42 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.185.43 CISCO-CDP-MIB.cdpCacheAddressType.185.43 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.188.37 CISCO-CDP-MIB.cdpCacheAddressType.188.37 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.189.30 CISCO-CDP-MIB.cdpCacheAddressType.189.30 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.190.36 CISCO-CDP-MIB.cdpCacheAddressType.190.36 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.3.191.38 CISCO-CDP-MIB.cdpCacheAddressType.191.38 ENUM ip 1.3.6.1.4.1.9.9.23.1.2.1.1.4.120.17 CISCO-CDP-MIB.cdpCacheAddress.120.17 OCTET-STRING 7a:62:fc:01 1.3.6.1.4.1.9.9.23.1.2.1.1.4.122.26 CISCO-CDP-MIB.cdpCacheAddress.122.26 OCTET-STRING 7d:21:c9:f5 1.3.6.1.4.1.9.9.23.1.2.1.1.4.123.27 CISCO-CDP-MIB.cdpCacheAddress.123.27 OCTET-STRING 7d:21:c9:f5 1.3.6.1.4.1.9.9.23.1.2.1.1.4.125.16 CISCO-CDP-MIB.cdpCacheAddress.125.16 OCTET-STRING 7a:62:e4:96 1.3.6.1.4.1.9.9.23.1.2.1.1.4.128.18 CISCO-CDP-MIB.cdpCacheAddress.128.18 OCTET-STRING 7d:21:c9:f9 1.3.6.1.4.1.9.9.23.1.2.1.1.4.129.21 CISCO-CDP-MIB.cdpCacheAddress.129.21 OCTET-STRING 7d:21:c9:f9 1.3.6.1.4.1.9.9.23.1.2.1.1.4.131.20 CISCO-CDP-MIB.cdpCacheAddress.131.20 OCTET-STRING 7d:21:06:e2 1.3.6.1.4.1.9.9.23.1.2.1.1.4.132.22 CISCO-CDP-MIB.cdpCacheAddress.132.22 OCTET-STRING 7d:21:06:e6 1.3.6.1.4.1.9.9.23.1.2.1.1.4.133.28 CISCO-CDP-MIB.cdpCacheAddress.133.28 OCTET-STRING 7d:21:06:e2 1.3.6.1.4.1.9.9.23.1.2.1.1.4.134.29 CISCO-CDP-MIB.cdpCacheAddress.134.29 OCTET-STRING 7d:21:06:e6 1.3.6.1.4.1.9.9.23.1.2.1.1.4.140.24 CISCO-CDP-MIB.cdpCacheAddress.140.24 OCTET-STRING 7a:62:e4:21 1.3.6.1.4.1.9.9.23.1.2.1.1.4.141.25 CISCO-CDP-MIB.cdpCacheAddress.141.25 OCTET-STRING 7a:62:e4:29 1.3.6.1.4.1.9.9.23.1.2.1.1.4.142.19 CISCO-CDP-MIB.cdpCacheAddress.142.19 OCTET-STRING 35:da:3e:09 1.3.6.1.4.1.9.9.23.1.2.1.1.4.143.23 CISCO-CDP-MIB.cdpCacheAddress.143.23 OCTET-STRING 35:da:3e:01 1.3.6.1.4.1.9.9.23.1.2.1.1.4.144.12 CISCO-CDP-MIB.cdpCacheAddress.144.12 OCTET-STRING 7a:62:66:02 1.3.6.1.4.1.9.9.23.1.2.1.1.4.145.13 CISCO-CDP-MIB.cdpCacheAddress.145.13 OCTET-STRING 7a:62:66:06 1.3.6.1.4.1.9.9.23.1.2.1.1.4.152.49 CISCO-CDP-MIB.cdpCacheAddress.152.49 OCTET-STRING 7a:62:e4:59 1.3.6.1.4.1.9.9.23.1.2.1.1.4.153.50 CISCO-CDP-MIB.cdpCacheAddress.153.50 OCTET-STRING 7a:62:e4:61 1.3.6.1.4.1.9.9.23.1.2.1.1.4.155.45 CISCO-CDP-MIB.cdpCacheAddress.155.45 OCTET-STRING 7a:62:e4:46 1.3.6.1.4.1.9.9.23.1.2.1.1.4.156.44 CISCO-CDP-MIB.cdpCacheAddress.156.44 OCTET-STRING 7a:62:e4:52 1.3.6.1.4.1.9.9.23.1.2.1.1.4.159.48 CISCO-CDP-MIB.cdpCacheAddress.159.48 OCTET-STRING 35:ee:02:7a 1.3.6.1.4.1.9.9.23.1.2.1.1.4.165.39 CISCO-CDP-MIB.cdpCacheAddress.165.39 OCTET-STRING 7a:62:e4:da 1.3.6.1.4.1.9.9.23.1.2.1.1.4.173.52 CISCO-CDP-MIB.cdpCacheAddress.173.52 OCTET-STRING 7a:62:f8:25 1.3.6.1.4.1.9.9.23.1.2.1.1.4.176.47 CISCO-CDP-MIB.cdpCacheAddress.176.47 OCTET-STRING 7d:21:c9:41 1.3.6.1.4.1.9.9.23.1.2.1.1.4.177.53 CISCO-CDP-MIB.cdpCacheAddress.177.53 OCTET-STRING 7a:62:e4:ae 1.3.6.1.4.1.9.9.23.1.2.1.1.4.178.32 CISCO-CDP-MIB.cdpCacheAddress.178.32 OCTET-STRING 7a:62:e4:12 1.3.6.1.4.1.9.9.23.1.2.1.1.4.179.33 CISCO-CDP-MIB.cdpCacheAddress.179.33 OCTET-STRING 7a:62:e4:12 1.3.6.1.4.1.9.9.23.1.2.1.1.4.180.34 CISCO-CDP-MIB.cdpCacheAddress.180.34 OCTET-STRING 7a:62:e4:12 1.3.6.1.4.1.9.9.23.1.2.1.1.4.181.35 CISCO-CDP-MIB.cdpCacheAddress.181.35 OCTET-STRING 7a:62:e4:12 1.3.6.1.4.1.9.9.23.1.2.1.1.4.182.40 CISCO-CDP-MIB.cdpCacheAddress.182.40 OCTET-STRING 7a:62:e4:1a 1.3.6.1.4.1.9.9.23.1.2.1.1.4.183.41 CISCO-CDP-MIB.cdpCacheAddress.183.41 OCTET-STRING 7a:62:e4:1a 1.3.6.1.4.1.9.9.23.1.2.1.1.4.184.42 CISCO-CDP-MIB.cdpCacheAddress.184.42 OCTET-STRING 7a:62:e4:1a 1.3.6.1.4.1.9.9.23.1.2.1.1.4.185.43 CISCO-CDP-MIB.cdpCacheAddress.185.43 OCTET-STRING 7a:62:e4:1a 1.3.6.1.4.1.9.9.23.1.2.1.1.4.188.37 CISCO-CDP-MIB.cdpCacheAddress.188.37 OCTET-STRING 7a:62:e4:9e 1.3.6.1.4.1.9.9.23.1.2.1.1.4.189.30 CISCO-CDP-MIB.cdpCacheAddress.189.30 OCTET-STRING 7a:62:e4:9e 1.3.6.1.4.1.9.9.23.1.2.1.1.4.190.36 CISCO-CDP-MIB.cdpCacheAddress.190.36 OCTET-STRING 7a:62:e4:9e 1.3.6.1.4.1.9.9.23.1.2.1.1.4.191.38 CISCO-CDP-MIB.cdpCacheAddress.191.38 OCTET-STRING 7a:62:e4:9e

Antonio Russo September 4, 2015 at 4:47 AM

Seth I fixed in features/foundation-enlinkd could you ask Ben to put into bamboo?

When bamboo is green I'll merge in foundation

Antonio Russo September 4, 2015 at 4:46 AM

MacBook-Pro-di-Antonio-Russo:opennms-services antonio$ git push
Counting objects: 95, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (12/12), 1.46 KiB | 0 bytes/s, done.
Total 12 (delta 6), reused 0 (delta 0)
To git@github.com:OpenNMS/opennms.git
ac989c8..46a3e44 features/foundation-enlinkd -> features/foundation-enlinkd
MacBook-Pro-di-Antonio-Russo:opennms-services antonio$ git log
commit 46a3e44a1cbcfbbc7a2afdfd34fba9ec6842aec7
Author: Antonio <rssntn67@yahoo.it>
Date: Fri Sep 4 10:44:09 2015 +0200

Fix https://opennms.atlassian.net/browse/NMS-7858#icft=NMS-7858: CDP code fails to parse hex-encoded IP address string

Created a new methid to check if the string is displayable
Using the native octet string to get inet address

Antonio Russo September 4, 2015 at 3:59 AM

This is a Cisco Catalist 6500...

Catalyst 6500 series switches require Cisco IOS Release 12.2(18)SXF4 or later releases.

Which IOS software they have?

I really need a walk of the cdpcache table from that device.

snmpwalk -c <community> -v2c -Oune <ip> .1.3.6.1.4.1.9.9.23

Fixed

Details

Assignee

Reporter

Labels

Affects versions

Priority

PagerDuty

Created September 2, 2015 at 10:36 AM
Updated September 4, 2015 at 4:09 PM
Resolved September 4, 2015 at 4:04 PM