Maps show double links between switches that have single links

Description

Maps show double links between these two switches; linkd shows dodgy information on link between. Both switches are Juniper EX2200 (JunOS 12.3R3) with SFP/fibre connectivity. Link is configured as dot1q trunk. Other switches in the network do not exhibit same behaviour.

Environment

Centos 6.4 64-bit, Sun JDK 1.7.0_40

Acceptance / Success Criteria

None

Attachments

2
  • 14 Feb 2014, 08:30 PM
  • 26 Sep 2013, 07:52 AM

Lucidchart Diagrams

Activity

Show:

Antonio Russo February 15, 2014 at 1:33 AM

Alexander, it is the same link....clearly, but reversed. The second one is marked status "N" not active, in any case this seems to be a bug, because
the QueryManager should manage this.
I have reviewed linkd a lot in the path months, and I'm sure also I reviewed the persisting part....but the changes are in master.

I'll take a look at the code in 1.12.

Alexander Hoogerhuis February 14, 2014 at 8:34 PM

Here's output from the DB underpinning the threading idea:

opennms=# SELECT * from datalinkinterface where ifindex in (10008,10102);
nodeid | ifindex | nodeparentid | parentifindex | status | lastpolltime | id | linktypeid | source
------------------------------------------------------------------------------------------------------------ 2 | 10008 | 4 | 10102 | A | 2014-02-15 03:44:50.149+03 | 1894 | -1 | linkd
4 | 10102 | 2 | 10008 | N | 2014-02-14 22:44:49.498+03 | 1487 | -1 | linkd

Alexander Hoogerhuis February 14, 2014 at 8:30 PM

Double link on Cisco 2960.

Alexander Hoogerhuis February 14, 2014 at 8:28 PM

Here's another example for Cisco (2960 series, IOS 12.2(58)). Same scenario, there is RSTP and CDP available, as well as LLDP.

The links are basically the same link, but one is the reverse of the other (i.e. one is A->B, the other B->A, same interfaces invovled in both).

Could it be as simple as linkd running multiple threads and if thread A is working switch A and thread B works switch B at the same time, while there is a link A to B, then the code that inserts link data only checks if the exising link is A->B and not B->A?

Alexander Hoogerhuis November 22, 2013 at 5:51 PM

There is SNMP to all switches, the switches run LLDP and RSTP.

linkd config:

<package name="net-mgmt" enable-vlan-discovery="true" enable-discovery-download="true">
<filter>IPADDR != '0.0.0.0'</filter>
<include-range begin="10.15.28.1" end="10.15.28.254"/>
<include-range begin="192.168.255.241" end="192.168.255.254"/>
</package>

Incomplete

Details

Assignee

Reporter

Affects versions

Priority

PagerDuty

Created September 26, 2013 at 7:52 AM
Updated October 1, 2014 at 12:02 PM
Resolved October 1, 2014 at 12:02 PM