Data Accelerator Offload
|
#include <dao_netlink_route.h>
Data Fields | |
int(* | get_app_interface_cookie )(const char *interface_name, int linux_ifindex, uint32_t *cookie) |
Get application specific cookie for relevant LINUX tap interfaces. This helps application to work with its own notion of tap interface instead of something else defined by library. Cookie is passed to all subsequent function ops for any ip_addr, ip_route, ip_neigh and link updates. If application does not sets cookie, default value is DAO_NETLINK_APP_IF_COOKIE_INITIALIZER. | |
int(* | ip_local_addr_add_del )(dao_netlink_route_ip_addr_t *dao_ip_addr, int is_add) |
Add or delete Local IP address to interface. | |
int(* | ip_neigh_add_del )(dao_netlink_route_ip_neigh_t *dao_ip_neigh, int is_add) |
int(* | link_add_del )(dao_netlink_route_link_t *dao_link, int is_add) |
int(* | ip_route_add_del )(dao_netlink_route_ip_route_t *dao_ip_route, dao_netlink_action_t action) |
High level route netlink ops for getting
Definition at line 261 of file dao_netlink_route.h.
int(* get_app_interface_cookie) (const char *interface_name, int linux_ifindex, uint32_t *cookie) |
Get application specific cookie for relevant LINUX tap interfaces. This helps application to work with its own notion of tap interface instead of something else defined by library. Cookie is passed to all subsequent function ops for any ip_addr, ip_route, ip_neigh and link updates. If application does not sets cookie, default value is DAO_NETLINK_APP_IF_COOKIE_INITIALIZER.
If "prefix_interface_name" is passed to dao_netlink_route_notifier_register() API, it looks for all LINUX interface names and if LINUX interface name has "prefix_interface_name" string in its name (eg: prefix_interface_name: "dtap" and LINUX interface name: dtap0, dtap1,...), get_app_interface_cookie() is called for each matched LINUX interface with
Application is supposed to set cookie value for any further function callbacks. Although linux_ifindex is also passed to all function callbacks for route, neigh, addr, and link updates
interface_name | LINUX interface name that matched with "prefix_interface_name" passed to dao_netlink_route_notifier_register() | |
linux_ifindex | LINUX notion of ifindex. See if_nametoindex() library function | |
[out] | cookie | Application specific cookie for interface for any subsequent function calls |
Definition at line 296 of file dao_netlink_route.h.
int(* ip_local_addr_add_del) (dao_netlink_route_ip_addr_t *dao_ip_addr, int is_add) |
Add or delete Local IP address to interface.
dao_ip_addr | See dao_netlink_route_ip_addr_t |
is_add | Add addr if is_add == 1 else delete otherwise |
Definition at line 311 of file dao_netlink_route.h.
int(* ip_neigh_add_del) (dao_netlink_route_ip_neigh_t *dao_ip_neigh, int is_add) |
Add or delete IP neighbor entry
dao_ip_neigh | See dao_netlink_route_ip_neigh_t |
is_add | Add neighbor if is_add == 1 else delete otherwise |
Definition at line 325 of file dao_netlink_route.h.
int(* link_add_del) (dao_netlink_route_link_t *dao_link, int is_add) |
Add or delete Link HW address
dao_link | See dao_netlink_route_link_t |
is_add | Add link if is_add == 1 else delete otherwise |
Definition at line 339 of file dao_netlink_route.h.
int(* ip_route_add_del) (dao_netlink_route_ip_route_t *dao_ip_route, dao_netlink_action_t action) |
Add or delete IP route
dao_ip_route | See dao_netlink_route_ip_route_t |
action | Add, replace or delete based on action value |
Definition at line 353 of file dao_netlink_route.h.