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