LLDP via SNMP

Have had the question come up a few times, so I wanted to poll the community to see...

For those who are monitoring LLDP, how have you found the SNMP MIB support support for it on Juniper, Cisco, Brocade, Arista, and others?

Wondering if you've needed to resort to CLI scraping or APIs to get the data?

Thanks,

Avi Freedman
CEO, Kentik

We use Observium for most of our SNMP monitoring, and it correctly pulls
LLDP and CDP data from all of our Cisco and Arista gear.

*Spencer Ryan* | Senior Systems Administrator | sryan@arbor.net
*Arbor Networks*
+1.734.794.5033 (d) | +1.734.846.2053 (m)
www.arbornetworks.com

Most of the vendors support standard LLDP-MIB::lldpMIB mib(i.e. Cisco,
Huawei, Juniper, Arista, EdgeCore..).
Only few of them have vendor-specific Mibs(Alcatel, a3com-huawei, Motorola
WiNG).

My experience with Juniper has been mixed, experience with 12.X and 13.X made me wonder if I had a poor understanding of how to do a proper decode or if Juniper's implementation itself had issues as I would often get incomplete results.

We've now grab over XML and have been pleased with that choice to the point I no longer see it as a "resort" but the most efficient way for us to move forward. I used to open JTAC cases on each SNMP problem I'd come across [ CoS, mac-accounting ] and it generally wasn't a good use of our time.

-Michael

I can't speak to Brocade (just haven't been to a customer recently who
has their kit and wants topology), but I've found support from Juniper,
Cisco, and Arista to be very good. As long as the device software load
is reasonably modern and LLDP is lit up everywhere, topology usually
just works.

We added LLDP support a couple years ago to OpenNMS' L2/L3
link-discovery service daemon (on top of CDP, IS-IS, and OSPF).
Everything is done via SNMP, for now anyway. If you read Java, you can
profit from our experience by sifting through the various LLDP-related
classes in our code here:

https://github.com/OpenNMS/opennms/

Tangentially, we've also been working on integration with OpenDaylight,
which pretty much demands going ReSTful to gather underlay and overlay
topology data.

-jeff

I've written this to crawl network with CDP+LLDP+SNMP and produce JSON
or dotty output of topology. https://github.com/ytti/netcrawl CDP MIB
is obviously enterprise but LLDP is standard.

LLDP standard itself is in my non-humble opinion broken. There are no
guarantees that standard compliant LLDP will produce useful data.
Standard should allow multiple TLV's to describe port and device.
Standard should mandate that if device implements IP and SNMP, one of
the port TLVs SHOULD be 'ifIndex' and one of the device TLVs SHOULD
be MGMT IP address.

In a message written on Thu, May 26, 2016 at 10:16:21PM +0300, Saku Ytti wrote:

LLDP standard itself is in my non-humble opinion broken. There are no
guarantees that standard compliant LLDP will produce useful data.

Including inside a particular vendor's own implementation. For
instance some junipers advertise the interface name (ge-0/0/0) and
some the description ("To Bob's ISP") for the "interface name" field
in the CLI. So depending on the platform and version of code you
get totally different information from "show lldp neighbors".

It really makes it difficult to consume the data by script. Lots
of special cases.