Mikrotik Driver updates for LLDP topology?

Started by normalcy, June 30, 2017, 09:20:10 AM

Previous topic - Next topic

normalcy

Hi, since version 6.38, Mikrotik routeros has started to use LLDP as part of "ip > neighbor" discovery.  This version has filtered down to their "bugfix" branch now (the most stable release).

It seems that lldpRemoteSystemsData and lldpLocalSystemData in the LLDPMIB is populated (when I do a walk of a routeros device) - OIDs: .1.0.8802.1.1.2.1.3  &  .1.0.8802.1.1.2.1.4 have data for local and remote devices.

Any chance that this can be added to the mikrotik driver to populate

  • peer mac/node/IPaddr columns of the interfaces list on a node object details
  • Tools > info > Topology Table [LLDP]
  • L2 topology maps

Cheers.

tomaskir

There is a ticket for MikroTik LLDP, however work on it has not started yet.
https://track.radensolutions.com/issue/NX-1189

normalcy

Thanks for the link to the ticket Tomas.

Is this something that the "Network Device Database" feature in 2.1 might help make easier in the future rather than having to write new drivers in c++?  Or is that just for cosmetic layout of ports and vlans on the interface tab and you would still need c++ driver below it?

https://www.netxms.org/forum/announcements/netxms-2-1-rc1-released/msg22296/#msg22296

Victor Kirhenshtein

Hi,

if standard MIBs are working then there is no need for changes in a driver. If you don't see LLDP peers then problem is missing and/or incorrect information in these MIBs.

Best regards,
Victor

normalcy

Looking at my mikrotik routers I now realise that none of them display any topology info, and functions like "right click" > "topology" > "switch forwarding database" are empty too.

In Tomas' linked ticket, Alex mentions that the bridge MIB should provide some info (.1.3.6.1.2.1.17.4.3.1.1-3).  I don't get anything back from that whole tree other than 3 rows of STP info on any devices (CRS/CCR/AH1100).
.1.3.6.1.2.1.17.1.1.0 [Hex-STRING] = 00 00 00 00 00 00
.1.3.6.1.2.1.17.2.1.0 [INTEGER] = 3
.1.3.6.1.2.1.17.2.2.0 [INTEGER] = 32768


I have a mix of mikrotik devices with and without switch chips, but most of them are just using bridged interfaces as routers only.  I can only find L2 neighbour information under:

LLDP MIB
.1.0.8802.1.1.2.1.3  &  .1.0.8802.1.1.2.1.4 for LLDP

Mikrotik Neighbour Table (mtxrNeighbourTable .1.3.6.1.4.1.14988.1.1.11.1)
> ip neighbor print oid
0 ip-address=.1.3.6.1.4.1.14988.1.1.11.1.1.2.6 mac-address=.1.3.6.1.4.1.14988.1.1.11.1.1.3.6
   version=.1.3.6.1.4.1.14988.1.1.11.1.1.4.6 platform=.1.3.6.1.4.1.14988.1.1.11.1.1.5.6
   identity=.1.3.6.1.4.1.14988.1.1.11.1.1.6.6 software-id=.1.3.6.1.4.1.14988.1.1.11.1.1.7.6

1 ip-address=.1.3.6.1.4.1.14988.1.1.11.1.1.2.7 mac-address=.1.3.6.1.4.1.14988.1.1.11.1.1.3.7
   version=.1.3.6.1.4.1.14988.1.1.11.1.1.4.7 platform=.1.3.6.1.4.1.14988.1.1.11.1.1.5.7
   identity=.1.3.6.1.4.1.14988.1.1.11.1.1.6.7 software-id=.1.3.6.1.4.1.14988.1.1.11.1.1.7.7

2 ip-address=.1.3.6.1.4.1.14988.1.1.11.1.1.2.5 mac-address=.1.3.6.1.4.1.14988.1.1.11.1.1.3.5
   version=.1.3.6.1.4.1.14988.1.1.11.1.1.4.5 platform=.1.3.6.1.4.1.14988.1.1.11.1.1.5.5
   identity=.1.3.6.1.4.1.14988.1.1.11.1.1.6.5 software-id=.1.3.6.1.4.1.14988.1.1.11.1.1.7.5

3 ip-address=.1.3.6.1.4.1.14988.1.1.11.1.1.2.12 mac-address=.1.3.6.1.4.1.14988.1.1.11.1.1.3.12
   version=.1.3.6.1.4.1.14988.1.1.11.1.1.4.12 platform=.1.3.6.1.4.1.14988.1.1.11.1.1.5.12
   identity=.1.3.6.1.4.1.14988.1.1.11.1.1.6.12 software-id=.1.3.6.1.4.1.14988.1.1.11.1.1.7.12

4 ip-address=.1.3.6.1.4.1.14988.1.1.11.1.1.2.1 mac-address=.1.3.6.1.4.1.14988.1.1.11.1.1.3.1
   version=.1.3.6.1.4.1.14988.1.1.11.1.1.4.1 platform=.1.3.6.1.4.1.14988.1.1.11.1.1.5.1
   identity=.1.3.6.1.4.1.14988.1.1.11.1.1.6.1 software-id=.1.3.6.1.4.1.14988.1.1.11.1.1.7.1

5 ip-address=.1.3.6.1.4.1.14988.1.1.11.1.1.2.9 mac-address=.1.3.6.1.4.1.14988.1.1.11.1.1.3.9
   version=.1.3.6.1.4.1.14988.1.1.11.1.1.4.9 platform=.1.3.6.1.4.1.14988.1.1.11.1.1.5.9
   identity=.1.3.6.1.4.1.14988.1.1.11.1.1.6.9 software-id=.1.3.6.1.4.1.14988.1.1.11.1.1.7.9


On a CRS model I have, seems like unicast FDB (> interface ethernet switch unicast-fdb print) is not available over SNMP either.

I see now Tomas has mentioned before that mikrotik don't expose enough L2 info over SNMP so I guess its down to nagging them and hoping the LLDP/neighbour MIB info can be added to the driver on NX-1189 at some point.

What do the mikrotik experts do?  Does anyone use the API and scripts to get some of this information?  Am I missing anything obvious here?

Thanks guys.

Millenium7

I was about to create a thread about this
LLDP does in fact work on most MikroTik devices but apparently not on CRS devices - and presumably others that utilize an onboard switch chip as opposed to software switching
If you try and poll the MAC database on a CRS you won't get anything. However if you instead use a bridge interface and put the ports in it this will work. Obviously not the greatest as you lose the dedicated switching features and will take a big impact to performance. It may very well be that the information is located in a different OID somewhere. If this could be located and implemented when using mikrotik driver this would solve the issue.