Topology map shows non-existing LLDP links

Description

Topology map tries too hard to find far link end node in LLDP. It if does not find far node by "standard" unique tags (lldplink.{lldpremchassisid,lldpremchassisidsubtype}), it falls back to non-unique tag comparison (i.e. lldplink.lldpremsysname). This is bad in general.

In particular, when the remote node does not send its sysname in LLDP PDUs, it results in empty lldplink.lldpremsysname field (that's right). When, at the same time, there is even a single node with empty sysname (node.nodesysname), all such LLDP links end in it (i.e. node with empty nodesysname and lowest nodeid is picked up as adjacent node in topology map). I have seen tens of such fake LLDP links ending in a single node - the node on the picture below is actually stand-alone with respect to LLDP:

Please, remove sysname comparison from the LLDP adjacency mapping algorithm. It can not work reliably, even if there are no nodes with empty sysname. Only chassisid is meant to be unique.

Acceptance / Success Criteria

None

Attachments

1

Lucidchart Diagrams

Activity

Show:

Milan Krcmar July 30, 2018 at 4:34 PM

EnhancedLinkdTopologyProvider.java, lines 777-783

Details

Assignee

Reporter

Labels

Original estimate

Time tracking

No time logged1h remaining

Components

Affects versions

Priority

PagerDuty

Created July 30, 2018 at 4:17 PM
Updated September 21, 2021 at 7:26 PM