Data Accelerator Offload
Loading...
Searching...
No Matches
dao_netlink.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: Marvell-MIT
2 * Copyright (c) 2023 Marvell.
3 */
4
5#ifndef _DAO_LIB_NETLINK_H_
6#define _DAO_LIB_NETLINK_H_
7
8#include <dao_net.h>
9#include <dao_util.h>
10
11#include <linux/netlink.h>
12#include <linux/xfrm.h>
13#include <linux/if.h>
14#include <netlink/socket.h>
15#include <netlink/addr.h>
16
17#include <dao_netlink_route.h>
18#include <dao_netlink_xfrm.h>
19#include <dao_log.h>
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
70#define DAO_NETLINK_NOTIFIER_MAX_MULTICAST_GROUPS 128
71
92typedef void (*dao_netlink_parse_cb_t) (struct nl_object *nl_obj, void *notifier);
93
103
113
123
136int dao_netlink_close(void *netlink);
137
164 void *app_callback_ops, void *app_cookie, ...);
165
178int dao_netlink_nl_addr_to_in6(struct in6_addr *ip_addr, struct nl_addr *nladdr);
179
193int dao_netlink_nl_addr_to_ip_addr(dao_netlink_ip_addr_t *ip_addr, struct nl_addr *nladdr);
194
210void *dao_netlink_lookup(int protocol);
211
219int dao_netlink_has_poll_recv(void *netlink);
220
227void *dao_netlink_socket_get(void *netlink);
228
235int dao_netlink_fd_get(void *netlink);
236
258void *
260
291void *
293 uint32_t multicast_group);
294
308void *dao_netlink_notifier_callback_ops_get(void *netlink_notifier);
309
323void *dao_netlink_notifier_app_cookie_get(void *netlink_notifier);
324
337void *dao_netlink_notifier_nl_msg_get(void *netlink_notifier);
338
339#ifdef __cplusplus
340}
341#endif
342#endif