diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-08-09 19:02:27 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-01-18 00:29:46 +0100 |
commit | 30359046d81b637168c2cbd449d7fdfce9baca39 (patch) | |
tree | ec008cc0d5783bbeefa345ef3eb2a0bd0221e37b /zebra/kernel_netlink.h | |
parent | zebra: Remove unused variable. (diff) | |
download | frr-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.h | 6 |
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); |