Status: Closed (View Workflow)
Affects Version/s: 16.0.3
Fix Version/s: 18.0.0
Component/s: Enhanced Linkd / Linkd
Security Level: Default (Default Security Scheme)
Environment:Two separate small local networks with Linux systems, one with about 60 and another one with about 40 hosts.
OpenNMS runs on CentOS 6.7, Switches are HP 1810-24G and HP 1820-24G, Link detection use-bridge-discovery="true", anything else set to "false".
One host in every network runs a kvm virtual system. If these virtual hosts are excluded explicitly from discovery, everything works well. If included, however, enlinkd erroneously recognizes the virtual host as Remote Node of every switch through their backbone ports. As a consequence, incorrect and confusing link lines from the virtual host to every switch are drawn in the topology map which makes the map rather unusable.
The host uses eth0 as physical and br0 as logical interface. Both interfaces are correctly stored in the data base and displayed in the UI. The only difference between the two interfaces, except the name of course, is in the interface speed. While eth0 shows the speed of the physical connection, the speed of br0 is 0 - which is correct. However, the Bridge Forwarding Table of the host is empty. Does enlinkd refuses to add an interface to the Bridge Forwarding Table, if its speed is 0? And are all other switches then assumed to serve as next possible bridge, since the one and only correct bridge is missing? If this is the case, enlinkd could look for another interface with the same MAC address and a valid speed. If one is found, it should use its speed, since bridged interfaces always share the same MAC address:
ifconfig eth0 | head -1
eth0 Link encap:Ethernet HWaddr E0:3F:49:11:F2:A7
ifconfig br0 | head -1
br0 Link encap:Ethernet HWaddr E0:3F:49:11:F2:A7
And the UI has:
4 eth0 eth0 1000000000
10 br0 br0 0