[j-nsp] EX2200 LLDP Port Info
Ben Dale
bdale at comlinx.com.au
Thu Mar 26 22:18:11 EDT 2015
Hi Bill,
On 27 Mar 2015, at 3:16 am, Bill Blackford <bblackford at gmail.com> wrote:
> Seems to be undesired behavior. So, far I have not found anything in the
> release notes that would indicate a fix. any thoughts on this from the
> group?
What you're seeing on the EX2200 changes from version to version
11.4R7 ignores the description and sends the logical interface name eg: ge-0/1/0.0
12.3R4.6 overrides the interface name with the description eg: "Link to switchA - ge-0/0/0"
In fact, the behaviour of LLDP from platform to platform across the whole range is pretty inconsistent:
MX80 - 14.2R1.9 (shows ifIndex of neighbouring interface):
Local Interface Parent Interface Chassis Id Port info System Name
ge-1/1/2 - 40:b4:f0:49:98:f0 505 ACX1100
ge-1/0/0 ae0 5c:5e:ab:0e:7f:40 516 MX80-B
ge-1/1/0 ae0 5c:5e:ab:0e:7f:40 526 MX80-B
ge-1/1/5 - 5c:5e:ab:0e:7f:40 531 MX80-B
ACX1100 - 12.3something (shows ifIndex of neighbouring interface, and has no Parent interface to identify aggregates)
Local Interface Chassis Id Port info System Name
ge-0/0/4 5c:5e:ab:0e:60:30 528 MX80-A
ge-0/0/1 5c:5e:ab:0e:7f:40 517 MX80-B
ge-0/0/0 5c:5e:ab:0e:7f:40 527 MX80-B
I seem to recall older versions of MX code (11 or 12) used to send the description field as well.
As for why - one example I know of is that there is a provider here that uses LLDP to send through the Circuit ID of their tails via Port Description, which is nice for operations staff on the remote end for ticket logging.
Anyway, you can partially resolve this issue with the following:
set protocols lldp port-id-subtype interface-name
This means that the *sending* LLDP device will now send the interface name in the Port ID field instead of the ifindex. Unfortunately, the "show lldp neighbors" command will still only show the value of the Port Description field, which will get overridden by the interface description. Instead you'll need to use "show lldp neighbours interface <ifd>" to see it.
BEFORE:
bdale at GD-eng-22c# run show lldp neighbors interface ge-0/1/1.0
...
Neighbour Information:
Chassis type : Mac address
Chassis ID : b0:a8:6e:8d:5a:40
Port type : Locally assigned
Port ID : 527 <-----
Port description : Uplink to GD-eng-22c
System name : GD-rck-22c
AFTER:
bdale at GD-eng-22c# run show lldp neighbors interface ge-0/1/1.0
.....
Neighbour Information:
Chassis type : Mac address
Chassis ID : b0:a8:6e:8d:5a:40
Port type : Interface name
Port ID : ge-0/1/0 <-----
Port description : Uplink to GD-eng-22c
System name : GD-rck-22c
To fix this though, I've put together an op script that behaves in a similar manner to "show lldp neighbors" except that it lists the Port ID field as well:
https://github.com/dfex/DFEXjunoscripts/blob/master/show-lldp-neat.slax
It works works on the EX22/42 okay, but the EX doesn't seem to support remote execution (eg: op url https://github.com/dfex/DFEXjunoscripts/blob/master/show-lldp-neat.slax) across any of the version I've tried: 11.4R7.5, 12.3R2.5, 12.3R4.6, 12.3R6.6, 13.2X51-D20.2.
On the MX under 14.2R1.9, remote execution works, but the script is a bit borked as it seems to be trying to re-use the variable from the previous iteration in for-each - let me know if anyone has an better experiences.
Cheers,
Ben
More information about the juniper-nsp
mailing list