[Bug 1312419] Re: nl_cache_refill; rtnl_neigh_get fail to find neighbors in cache
Micah Cowan
micah at addictivecode.org
Wed Dec 10 15:14:18 UTC 2014
I can confirm this issue in Trusty (libnl3 version 3.2.21-1), relative to Precise (3.2.3-2ubuntu2). I can install the Precise binaries for:
libnl-3-200
libnl-3-dev
libnl-genl-3-200
libnl-genl-3-dev
libnl-route-3-200
libnl-route-3-dev
onto a Trusty system, and the issue goes away.
To reproduce, use the attached netlink-test.c and build/run like this:
gcc -I/usr/include/libnl3 netlink-test.c -lnl-3 -lnl-route-3 -o netlink-test
./netlink-test 1.2.3.4
Or, for much more debugging output, run like:
NLDBG=4 ./netlink-test 1.2.3.4
where 1.2.3.4 is the IP address of a neighboring machine (I used the output of
route | sed -n '3{p;q}' | awk '{print $2}'
, which gives my router).
I recommend you try it in a Precise chroot (or just with the Precise
binaries listed above installed) first, so you can verify you have a
working IP address for the test. Then try it in Trusty and confirm the
failure.
With libnl3 binaries from Precise, I get:
calling nl_socket_alloc
calling rtnl_neigh_alloc_cache
calling rtnl_neigh_get
calling rtnl_neigh_get_lladdr
hwLen: 6
But with Trusty's libnl3 stuff I get:
calling nl_socket_alloc
calling rtnl_neigh_alloc_cache
calling rtnl_neigh_get
rtnl_neigh_get returned NULL
The attached program code is not my authorship, but Carl Soeder, my
coworker at Akamai Technologies.
Since the offending version is a *-1 release, the problem is not Ubuntu-
specific. Since, also, Debian has not added any patches that change
source code, the problem is not Debian-specific either. I'll open bugs
with Debian and the libnl folks, and link to them here.
** Attachment added: "Reproducing test program"
https://bugs.launchpad.net/ubuntu/+source/libnl3/+bug/1312419/+attachment/4277629/+files/netlink-test.c
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to libnl3 in Ubuntu.
https://bugs.launchpad.net/bugs/1312419
Title:
nl_cache_refill; rtnl_neigh_get fail to find neighbors in cache
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libnl3/+bug/1312419/+subscriptions
More information about the Ubuntu-server-bugs
mailing list