summaryrefslogtreecommitdiffstats
path: root/zebra/kernel_netlink.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2016-08-09 19:02:27 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-01-18 00:29:46 +0100
commit30359046d81b637168c2cbd449d7fdfce9baca39 (patch)
treeec008cc0d5783bbeefa345ef3eb2a0bd0221e37b /zebra/kernel_netlink.h
parentzebra: Remove unused variable. (diff)
downloadfrr-30359046d81b637168c2cbd449d7fdfce9baca39.tar.xz
frr-30359046d81b637168c2cbd449d7fdfce9baca39.zip
zebra: Allow netlink_talk to choose the filter function to call
The netlink_talk call sends a message to the kernel, which with netlink_talk_filter only waits for the ACK. It would be nice to have the ability to specify what the handler function would be for when we send queries about mcast S,G routes so that we can gather the data returned from the kernel. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'zebra/kernel_netlink.h')
-rw-r--r--zebra/kernel_netlink.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/zebra/kernel_netlink.h b/zebra/kernel_netlink.h
index 890236c04..f97e6e8cc 100644
--- a/zebra/kernel_netlink.h
+++ b/zebra/kernel_netlink.h
@@ -44,7 +44,11 @@ extern const char * nl_rtproto_to_str (u_char rtproto);
extern int netlink_parse_info (int (*filter) (struct sockaddr_nl *,
struct nlmsghdr *, ns_id_t), struct nlsock *nl,
struct zebra_ns *zns, int count);
-extern int netlink_talk (struct nlmsghdr *n, struct nlsock *nl,
+extern int netlink_talk_filter (struct sockaddr_nl *, struct nlmsghdr *,
+ ns_id_t);
+extern int netlink_talk (int (*filter) (struct sockaddr_nl *, struct nlmsghdr *,
+ ns_id_t),
+ struct nlmsghdr *n, struct nlsock *nl,
struct zebra_ns *zns);
extern int netlink_request (int family, int type, struct nlsock *nl);