The RTF_LLINFO was revived unconditionally, but within the kernel the

check on the sysctl argument value being RTF_LLINFO is conditioned on
the COMPAT_ROUTE_FLAGS kernel option. This mismatch caused the L2
table retrieval failure, and the arp/ndp -an command displays empty L2
tables.

Reviewed by:   pjd
This commit is contained in:
Qing Li 2009-01-16 09:01:45 +00:00
parent 40a70e188b
commit 82b334e80d

View File

@ -1448,11 +1448,7 @@ sysctl_rtsock(SYSCTL_HANDLER_ARGS)
* specify an AF
*/
if (w.w_op == NET_RT_FLAGS &&
#if defined(COMPAT_ROUTE_FLAGS)
(w.w_arg & RTF_LLINFO)) {
#else
w.w_arg == 0) {
#endif
(w.w_arg == 0 || w.w_arg & RTF_LLINFO)) {
if (af != 0)
error = lltable_sysctl_dumparp(af, w.w_req);
else