kern/172880: lldp (openlldp) triggers failures when the system has carp interfaces.
Andre Gustavo N. Lopes
andre at mrx.com.br
Fri Oct 19 13:00:02 UTC 2012
>Number: 172880
>Category: kern
>Synopsis: lldp (openlldp) triggers failures when the system has carp interfaces.
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Oct 19 13:00:01 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Andre Gustavo N. Lopes
>Release: 8.3-STABLE
>Organization:
MRX
>Environment:
FreeBSD rtdistdc02.datacast.net.br 8.3-STABLE FreeBSD 8.3-STABLE #3: Fri Oct 19 09:31:59 BRT 2012 root at rtdistdc02.datacast.net.br:/usr/obj/usr/src/sys/DELLR410-v2 amd64
>Description:
It looks like the lldp protocol (openlldp) triggers the below error when the system has a carp interface:
..
carp_looutput: af=1 unexpected
carp_looutput: af=1 unexpected
carp_looutput: af=1 unexpected
..
Investigating a little bit I've found this in /usr/src/sys/net/netinet/ip_carp.c:
carp_looutput(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
struct route *ro)
{
..
#if 1 /* XXX */
switch (dst->sa_family) {
case AF_INET:
case AF_INET6:
case AF_IPX:
case AF_APPLETALK:
break;
default:
printf("carp_looutput: af=%d unexpected\n", dst->sa_family);
m_freem(m);
return (EAFNOSUPPORT);
}
..
}
It looks like the switch (dst->sa_family) is returning 1 (dmesg log says: carp_looutput: af=1 unexpected).
I thought I could just ignore this (and comment the printf out, but after some hours lldp consumes a bunch of swap and eventually dies:
..
swap_pager_getswapspace(2): failed
swap_pager_getswapspace(16): failed
pid 2628 (lldpd), uid 0, was killed: out of swap space
I wonder if ip_carp.c, when checking the address_family was not supposed to accomodate the lldp packages.
>How-To-Repeat:
1- Create a carp interface, no peer required, any ip address
2- Install and install openlldp
3- Follow up dmesg and logs
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list