libnl 3.11.0
|
Available operations to modules implementing a link info type. More...
#include <link-api.h>
Data Fields | |
char * | io_name |
Name of link info type, must match name on kernel side. | |
int | io_refcnt |
Reference count, DO NOT MODIFY. | |
int(* | io_alloc )(struct rtnl_link *) |
Called to assign an info type to a link. | |
int(* | io_parse )(struct rtnl_link *, struct nlattr *, struct nlattr *) |
Called to parse the link info attribute. | |
void(* | io_dump [NL_DUMP_MAX+1])(struct rtnl_link *, struct nl_dump_params *) |
Called when the link object is dumped. | |
int(* | io_clone )(struct rtnl_link *, struct rtnl_link *) |
Called when a link object is cloned. | |
int(* | io_put_attrs )(struct nl_msg *, struct rtnl_link *) |
Called when construction a link netlink message. | |
void(* | io_free )(struct rtnl_link *) |
Called to release all resources previously allocated in either io_alloc() or io_parse(). | |
int(* | io_compare )(struct rtnl_link *, struct rtnl_link *, int flags) |
Called to compare link info parameters between two links. | |
struct nl_list_head | io_list |
Available operations to modules implementing a link info type.
Definition at line 19 of file link-api.h.
char* rtnl_link_info_ops::io_name |
Name of link info type, must match name on kernel side.
Definition at line 22 of file link-api.h.
Referenced by rtnl_link_is_can(), rtnl_link_is_geneve(), rtnl_link_is_ip6_tnl(), rtnl_link_is_ip6gre(), rtnl_link_is_ip6vti(), rtnl_link_is_ipgre(), rtnl_link_is_ipgretap(), rtnl_link_is_ipip(), rtnl_link_is_ipvlan(), rtnl_link_is_ipvti(), rtnl_link_is_macvlan(), rtnl_link_is_macvtap(), rtnl_link_is_sit(), rtnl_link_is_veth(), rtnl_link_is_vlan(), rtnl_link_is_vrf(), rtnl_link_is_vxlan(), rtnl_link_is_xfrmi(), rtnl_link_register_info(), and rtnl_link_unregister_info().
int rtnl_link_info_ops::io_refcnt |
Reference count, DO NOT MODIFY.
Definition at line 25 of file link-api.h.
Referenced by rtnl_link_info_ops_get(), rtnl_link_info_ops_lookup(), rtnl_link_info_ops_put(), and rtnl_link_unregister_info().
int(* rtnl_link_info_ops::io_alloc) (struct rtnl_link *) |
Called to assign an info type to a link.
Has to allocate enough resources to hold attributes. Can use link->l_info to store a pointer.
Definition at line 30 of file link-api.h.
Referenced by rtnl_link_set_type().
int(* rtnl_link_info_ops::io_parse) (struct rtnl_link *, struct nlattr *, struct nlattr *) |
Called to parse the link info attribute.
Must parse the attribute and assign all values to the link.
Definition at line 35 of file link-api.h.
void(* rtnl_link_info_ops::io_dump[NL_DUMP_MAX+1])(struct rtnl_link *, struct nl_dump_params *) |
Called when the link object is dumped.
Must dump the info type specific attributes.
Definition at line 41 of file link-api.h.
Called when a link object is cloned.
Must clone all info type specific attributes.
Definition at line 46 of file link-api.h.
int(* rtnl_link_info_ops::io_put_attrs) (struct nl_msg *, struct rtnl_link *) |
Called when construction a link netlink message.
Must append all info type specific attributes to the message.
Definition at line 50 of file link-api.h.
void(* rtnl_link_info_ops::io_free) (struct rtnl_link *) |
Called to release all resources previously allocated in either io_alloc() or io_parse().
Definition at line 54 of file link-api.h.
Called to compare link info parameters between two links.
Definition at line 57 of file link-api.h.
Referenced by rtnl_link_info_data_compare().
struct nl_list_head rtnl_link_info_ops::io_list |
Definition at line 60 of file link-api.h.