1 /* Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
11 #include <netlink/object.h>
12 #include "nl1_compat.h"
14 #include <netlink/object-api.h>
17 struct get_neigh_handler {
19 struct nl_handle *sock;
23 struct nl_cache *link_cache;
24 struct nl_cache *neigh_cache;
25 struct nl_cache *route_cache;
28 struct rtnl_neigh *filter_neigh;
29 struct nl_addr *found_ll_addr;
35 int process_get_neigh(struct get_neigh_handler *neigh_handler);
36 void neigh_free_resources(struct get_neigh_handler *neigh_handler);
37 void neigh_set_vlan_id(struct get_neigh_handler *neigh_handler, uint16_t vid);
38 uint16_t neigh_get_vlan_id_from_dev(struct get_neigh_handler *neigh_handler);
39 int neigh_init_resources(struct get_neigh_handler *neigh_handler, int timeout);
41 int neigh_set_src(struct get_neigh_handler *neigh_handler,
42 int family, void *buf, size_t size);
43 void neigh_set_oif(struct get_neigh_handler *neigh_handler, int oif);
44 int neigh_set_dst(struct get_neigh_handler *neigh_handler,
45 int family, void *buf, size_t size);
46 int neigh_get_oif_from_src(struct get_neigh_handler *neigh_handler);
47 int neigh_get_ll(struct get_neigh_handler *neigh_handler, void *addr_buf,