Datacom - CA Spectrum can't discovery connections (LLDP)
search cancel

Datacom - CA Spectrum can't discovery connections (LLDP)

book

Article ID: 15995

calendar_today

Updated On:

Products

CA Spectrum

Issue/Introduction

Discover Connections using Discovery Protocols Table (LLDP) doesn't work with Switch from Datacom Vendor



Why CA Spectrum can't discover the connections on Datacom devices?

Environment

CA Spectrum 9.x; 10.x

Resolution

In code flow, at function getPortMdl, port_models are being picked up based on key formed with portType and portId as key components. 

PortType is picked up from attribute lldpLocPortIdSubtype which is 5 in our case for all the 28 ports which signifies interfaceName. 

PortId value which is picked up from lldpLocPortId is Port0,Port1 etc till Port27 respectively. 

 

Function flow readIfXTable is where IfTable would get populated with IfName(0x11f6f) + "port type 5" as the key and port_modelhdl as the value. 

Now the MIB value which is being returned from ifName for any lldp device is generally like Gig0/1 or Gig0/10. 

But since the previous key with which search would happen in IfTable has key as Port1 + 5 as the key. 

 

sg5_eth-1/27 is connected to sg6_eth-1/28 

 

In the sg5.walk file: 

1.0.8802.1.1.2.1.3.7.1.2.27 , Integer , 5 

1.0.8802.1.1.2.1.3.7.1.3.27 , OctetString , Port26 

1.3.6.1.2.1.31.1.1.1.1.27 , OctetString , eth-1/27 

 

In the sg6.walk file: 

1.0.8802.1.1.2.1.3.7.1.2.28 , Integer , 5 

1.0.8802.1.1.2.1.3.7.1.3.28 , OctetString , Port27 

1.3.6.1.2.1.31.1.1.1.1.28 , OctetString , eth-1/28 

 

For other Cisco / Juniper devices where lldp discovery is working fine, both the lldpLocPortId/0x25e0080 and IfName/0x11f6f attributes have the same values for a particular port model handle hence local port models and remote port models are getting modeled properly. 

 

Here an example of Cisco device: 

1.0.8802.1.1.2.1.3.7.1.2.27 , Integer , 5 

1.0.8802.1.1.2.1.3.7.1.3.27 , OctetString , Gi1/27 

1.3.6.1.2.1.31.1.1.1.1.27 , OctetString , Gi1/27 

 

Making code changes for this devicetype to pick a different key apart from ifName is also not possible since there is no other attribute which provides same value as lldplocalPortId. Hence to conclude MIB values for instances of lldpLocPortId/0x25e0080 and IfName/0x11f6f attributes are not same for the LLDP discovery process to work fine. Issue still persists with values being returned by the device. 

 

Hence the device's manufacturer should be engaged to address the difference between the value in lldpLocPortId and ifName. 

 

lldpLocPortIdSubtype OBJECT-TYPE 

-- 1.0.8802.1.1.2.1.3.7.1.2 

DESCRIPTION: "The type of port identifier encoding used in the associated 'lldpLocPortId' object." 

 

lldpLocPortId OBJECT-TYPE

-- 1.0.8802.1.1.2.1.3.7.1.3 

DESCRIPTION: "The string value used to identify the port component associated with a given port in the local system." 

 

ifName 

-- 1.3.6.1.2.1.31.1.1.1.1 

DESCRIPTION: "The textual name of the interface. The value of this object should be the name of the interface as assigned by the local device and should be suitable for use in commands entered at the devices' console."