Page MenuHomePhabricator

LLDP potentially broken
Needs testing, NormalPublicBUG

Description

I'm not sure if LLDP is broken or if it's my network design

set service lldp interface all, management address not set, or set to one of the IPs on the router.

Simple network layout:

From that diagram, when doing a show lldp neighbors

  • Edge device sees none of them. This is currently a Mikrotik device due to OSPF on VyOS dropping the default route after 30 minutes. I can quickly switch back to VyOS for the edge and see what happens later today. It does see all other devices on network, including other Mikrotik switches and Ciscos.
  • Router1 only sees Router3
  • Router2 only sees Router4, despite them not being on the same subnet.

The logs have this in them as the only indication something might be wrong, but that could potentially just be a warning:

route2 lldpcli[4037]: unknown command from argument 1: `#`

All routers are connected via a trunk interface. They communicate over VLAN interfaces.

Details

Difficulty level
Unknown (require assessment)
Version
1.2.0-epa2
Why the issue appeared?
Will be filled on close

Event Timeline

kroy created this task.Jan 7 2019, 5:24 PM
kroy updated the task description. (Show Details)Jan 7 2019, 6:00 PM
kroy added a comment.EditedJan 7 2019, 10:35 PM

With VyOS as the edge:

  • Edge sees itself, Router1, Router3

This can't be right at all. If it saw Router2, I could believe it was a bug in the network design, but Router1/2/3 are literal clones of one another. Only change is IP addresses and MAC.

syncer triaged this task as Normal priority.Jan 12 2019, 6:33 PM
syncer edited projects, added VyOS 1.2 Crux (VyOS 1.2.0-GA); removed VyOS 1.2 Crux.
pasik added a subscriber: pasik.Jan 21 2019, 9:41 PM

I've built lldpd 1.0.3, much newer than that from jessie. Luckily, the maintainer keep Debian packaging in the official repository, so it wasn't much effort to do.

It will be in today's nightly build, could you re-test with it?

kroy added a comment.Jan 26 2019, 2:25 AM

Sure. I'll set a reminder to check it out tomorrow when I have a free minute. Thanks

kroy added a comment.Jan 26 2019, 7:07 PM

Unfortunately that seems to have made the problem worse. Before, at least each host was seeing one other host. Now most of them see no hosts.

kroy added a comment.Jan 26 2019, 7:08 PM

THis shows up in the logs:

Jan 26 13:03:20 edge lldpd[11792]: protocol LLDP enabled
Jan 26 13:03:20 edge lldpd[11792]: protocol CDPv1 disabled
Jan 26 13:03:20 edge lldpd[11792]: protocol CDPv2 disabled
Jan 26 13:03:20 edge lldpcli[11790]: cannot find configuration file/directory /etc/lldpd.conf
Jan 26 13:03:20 edge lldpd[11792]: protocol SONMP disabled
Jan 26 13:03:20 edge lldpd[11792]: protocol EDP disabled
Jan 26 13:03:20 edge lldpd[11792]: protocol FDP disabled
Jan 26 13:03:20 edge lldpd[11792]: libevent 2.0.21-stable initialized with epoll method
syncer added a project: VyOS-1.2.0-GA.
syncer moved this task from Finished to In Progress on the VyOS 1.2 Crux (VyOS 1.2.0-GA) board.
syncer changed the task status from Open to Needs testing.Apr 17 2019, 9:03 PM
syncer assigned this task to zsdc.
zsdc reassigned this task from zsdc to matt.webb.May 3 2019, 11:40 AM
zsdc added a subscriber: zsdc.
syncer reassigned this task from matt.webb to Dmitry.Aug 31 2019, 9:04 PM
syncer added a subscriber: matt.webb.

Hello @kroy I trying test your issue in lab and some question about rfc4957, Does LLDP should see more one neighbour? In my Lab all directly connected devices filter ethertype LLDP (0x88cc) for passthrough. Can you explain, how exactly connected R1,R2,R3,R4? In one switch?

Exist interesting moment when LLDPD communicate with cisco ios, after 1 min 55 second LLDPD in VyOS forget cisco device, but cisco device send LLDP (with ethertype encapsulated in vlan 1 0x8100). However LLDPD in VyOS remember mikrotik and other VyOS router, which directly connected, and which also transmit LLDP. I was try using and new version LLDPD which build for myself, but same result.
After adding vlan 1 on directly connected interface with cisco device LLDPD in VyOS, R1 don't forget it.

ip link add link eth1 name eth1.1 type vlan id 1
ip link set up dev eth1.1

From R1

vyos@R1# run show lldp neighbors 
Capability Codes: R - Router, B - Bridge, W - Wlan r - Repeater, S - Station
                  D - Docsis, T - Telephone, O - Other

Device ID                 Local  Proto  Cap   Platform             Port ID 
---------                 -----  -----  ---   --------             ------- 
MikroTik                  eth0   LLDP   R     MikroTik RouterOS 6. ether2  
Switch                    eth1   LLDP   R     Cisco IOS Software,  Et0/0   
R2                        eth2   LLDP   R     VyOS 1.2-rolling-201 eth2

From R2

vyos@R2:~$ show lldp neighbors 
Capability Codes: R - Router, B - Bridge, W - Wlan r - Repeater, S - Station
                  D - Docsis, T - Telephone, O - Other

Device ID                 Local  Proto  Cap   Platform             Port ID 
---------                 -----  -----  ---   --------             ------- 
MikroTik                  eth0   LLDP   R     MikroTik RouterOS 6. ether3  
Switch                    eth1   LLDP   R     Cisco IOS Software,  Et0/1   
R1                        eth2   LLDP   R     VyOS 1.2-rolling-201 eth2

From cisco device

Switch#show lldp neighbors 
Capability codes:
    (R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device
    (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other

Device ID           Local Intf     Hold-time  Capability      Port ID
R3                  Et0/2          120        R               5000.0004.0001
R2                  Et0/1          120        R               5000.0003.0001
R1                  Et0/0          120        R               5000.0002.0001

Total entries displayed: 3

From mikrotik

[admin@MikroTik] > ip neighbor print 
 # INTERFACE ADDRESS                                 MAC-ADDRESS      
 0 ether2    192.168.0.151                           50:00:00:02:00:00
 1 ether3    192.168.0.152                           50:00:00:03:00:00
 2 ether4    192.168.0.153                           50:00:00:04:00:00