Skip to content

Commit d7d1058

Browse files
committed
Add note about LLDP brokenness
1 parent 8237910 commit d7d1058

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

LLDP-IS-BROKEN.md

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
Someone with energy to work on standard bodies should drive LLDP change in such
2+
way that it is actually consumable by vendor-agnostic code.
3+
Today working LLDP code would require per-vendor models to translate portID and
4+
chassisID into something consumable, often cases requiring heuristics.
5+
LLDP is extremely low value and with minor changes could be actually standard
6+
tool to discover network.
7+
8+
9+
```email
10+
[802.1 - 9431] LLDP portID
11+
12+
Subject: [802.1 - 9431] LLDP portID
13+
From: Saku Ytti <[email protected]>
14+
Date: Wed, 9 Jan 2013 15:03:08 +0200
15+
Delivered-to: [email protected]
16+
Reply-to: Saku Ytti <[email protected]>
17+
"Insanity is doing the same thing and expecting a different result."
18+
Before sending a duplicate post, see "Sending->retrying" at
19+
802.1 list help: www.ieee802.org/1/email-pages/zuwz1011.html
20+
-----
21+
22+
Hi,
23+
24+
Why is there no snmp ifIndex subtype for portID?
25+
26+
It seems like obvious choice, which vendors actually do use. Only
27+
problem is, you cannot know this programmatically as you must use
28+
locally defined subtype, which we have to hard-code, i.e. discovery
29+
needs to know each and every platform statically.
30+
31+
Today you can get LLDP implementation from vendor which is useless for
32+
automated discovery, as you cannot guarantee to get useful information
33+
how to connect to peer device nor useful information how to
34+
discriminate correct interface at peer.
35+
Wouldn't this be goal #1 for L2 discovery? That automated discovery is possible?
36+
37+
Would it be too complex to mandate that if system implements SNMP and
38+
IPv4 or IPv6, it must send networkAddress (and define it as address
39+
which responds to SNMP) and chassisID with
40+
new ifIndex subtype? This way all real-world IP devices could be
41+
programmatic discovered without vendor specific code to support it.
42+
You'd still not require things which might be hard to implement in
43+
some niche/embedded situations.
44+
45+
Why can't we have multiple subtypes advertised per chassisID and portID?
46+
47+
48+
Also I see that ifAlias is often offered, and two major vendors both
49+
have had bug in LLDP implementation where portID is ifAlias, which
50+
mean (against MIB) that they are sending port description (which is
51+
useful, as it typically only talks about the peer, not local names).
52+
And vendors happily accept it is bug (while according to standard it
53+
is not) and have fixed it.
54+
55+
MIB Real world
56+
Interface description ifDescr ifAlias
57+
Interface long name ifName ifDescr
58+
Interface short name ifAlias ifName
59+
60+
Consequently leaving ifDescr out as valid subtype means in real world
61+
you don't deliver what you intended to deliver.
62+
(It is must unfortunate real-world has 'wrong' values in them, but
63+
that historic problem probably won't be fixed ever, easier to fix MIB)
64+
65+
--
66+
++ytti
67+
68+
===
69+
Unsubscribe link: mailto:[email protected]
70+
IEEE. Fostering technological innovation and excellence for the benefit of humanity.
71+
```

0 commit comments

Comments
 (0)