summaryrefslogtreecommitdiffstats
path: root/sysdep/linux
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2010-05-21 15:17:49 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2010-05-21 15:17:49 +0200
commit87a9abeac976180ade1c7619545e610d743994b5 (patch)
treec5211cb83f5e828c15a064bd8f194a0149cfe8d3 /sysdep/linux
parent002b6423188abdd62c5a494069fd299b96863a79 (diff)
downloadbird-87a9abeac976180ade1c7619545e610d743994b5.tar
bird-87a9abeac976180ade1c7619545e610d743994b5.zip
Fixes interface scan on Linux 2.4.x in IPv6 mode.
Diffstat (limited to 'sysdep/linux')
-rw-r--r--sysdep/linux/netlink/netlink.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sysdep/linux/netlink/netlink.c b/sysdep/linux/netlink/netlink.c
index 72f06cc..365d4a9 100644
--- a/sysdep/linux/netlink/netlink.c
+++ b/sysdep/linux/netlink/netlink.c
@@ -98,7 +98,9 @@ nl_request_dump(int cmd)
req.nh.nlmsg_type = cmd;
req.nh.nlmsg_len = sizeof(req);
req.nh.nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP;
- req.g.rtgen_family = BIRD_PF;
+ /* Is it important which PF_* is used for link-level interface scan?
+ It seems that some information is available only when PF_INET is used. */
+ req.g.rtgen_family = (cmd == RTM_GETLINK) ? PF_INET : BIRD_PF;
nl_send(&nl_scan, &req.nh);
}