[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