So i guess we figured it out.

This happens when there is a tap interface that is down from the VM side. So when LLDPd can't send the packets to the interface it writes them to the buffer, that's where the log is from. After a while the buffer space fills up and when lldpd can't write anymore, it blocks. According to what you said, this is expected in this version and is the reason why the whole daemon becomes unresponsive. When i rebooted the vm (and later when i manually up'ed the second interface) i saw by tcpdumping on the host the packets going through the tap interface.

What may be a bug is that when the interface cames back, the daemon dies. There is no log about it but i can see this:

Feb 26 20:07:22 gnt5-03 lldpd[17754]: lldp_decode: unknown org tlv received on eth0 Feb 26 20:08:02 gnt5-03 puppet-agent[3614]: (/Stage[main]/Lldp/Service[lldpd]/ensure) ensure changed 'stopped' to 'running' Feb 26 20:08:02 gnt5-03 lldpd[15562]: asroot_ctl_create: [priv]: unable to create control socket: Address already in use Feb 26 20:08:02 gnt5-03 lldpd[15563]: fatal: unable to create control socket /var/run/lldpd.socket

So at 20:07 is when the daemon resumed operation, and (i guess immediately) crashed. Puppet tries to re-up it at 20:08 but the daemon exits because the lldpd.socket already exists. This sound like a bug but I don't know if it's worth looking into.

Thanks for all you help. I guess i need to look into the backported version since i have no way to ensure that the nics are active on all the vms.



On 02/26/2015 04:58 PM, Vincent Bernat wrote:
  ❦ 26 février 2015 14:32 +0200, Kiousis Alexandros <al...@noc.grnet.gr> :

lldpd   17754 _lldpd   32u  pack          434712919      0t0       ALL
type=SOCK_RAW

So, it is blocking on the tap device. Maybe the VM on the other side has
been rebooted. Could you check if there is anything odd with
"ss --info --extended --memory -anp | grep 434712919"?

It should display which interface is associated to file descriptor 32.

Starting from lldpd 0.6, the whole event model has been rewritten and is
using libevent. Moreover, the socket is made non blocking. Therefore,
inability to write won't block lldpd anymore if you use the version from
backports.



--
-----------------------------------------------------------------------
Αλέξανδρος Κιούσης - al...@noc.grnet.gr
GRNET NOC System Administrator - http://noc.grnet.gr
-----------------------------------------------------------------------


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to