Modules | |
Class Modules | |
Class Object | |
Addition/Modification | |
| |
int | rtnl_class_build_add_request (struct rtnl_class *class, int flags, struct nl_msg **result) |
Build a netlink message to add a new class. | |
int | rtnl_class_add (struct nl_sock *sk, struct rtnl_class *class, int flags) |
Add a new class. | |
int | rtnl_class_build_delete_request (struct rtnl_class *class, struct nl_msg **result) |
int | rtnl_class_delete (struct nl_sock *sk, struct rtnl_class *class) |
Delete a class. | |
Cache Management | |
| |
int | rtnl_class_alloc_cache (struct nl_sock *sk, int ifindex, struct nl_cache **result) |
Build a class cache including all classes attached to the specified interface. | |
struct rtnl_class * | rtnl_class_get (struct nl_cache *cache, int ifindex, uint32_t handle) |
Look up class by its handle in the provided cache. |
int rtnl_class_build_add_request | ( | struct rtnl_class * | class, | |
int | flags, | |||
struct nl_msg ** | result | |||
) |
class | class to add | |
flags | additional netlink message flags | |
result | Pointer to store resulting message. |
Builds a new netlink message requesting an addition of a class. The netlink message header isn't fully equipped with all relevant fields and must be sent out via nl_send_auto_complete() or supplemented as needed.
Common message flags
Definition at line 123 of file class.c.
References NLM_F_CREATE.
Referenced by rtnl_class_add().
int rtnl_class_add | ( | struct nl_sock * | sk, | |
struct rtnl_class * | class, | |||
int | flags | |||
) |
sk | Netlink socket. | |
class | class to delete | |
flags | additional netlink message flags |
Builds a netlink message by calling rtnl_qdisc_build_add_request(), sends the request to the kernel and waits for the next ACK to be received and thus blocks until the request has been processed.
Common message flags
Definition at line 144 of file class.c.
References nl_send_auto_complete(), nlmsg_free(), and rtnl_class_build_add_request().
int rtnl_class_delete | ( | struct nl_sock * | sk, | |
struct rtnl_class * | class | |||
) |
sk | Netlink socket. | |
class | class to delete |
Builds a netlink message by calling rtnl_class_build_delete_request(), sends the request to the kernel and waits for the ACK to be received and thus blocks until the request has been processed.
Definition at line 198 of file class.c.
References nl_send_auto_complete(), and nlmsg_free().
int rtnl_class_alloc_cache | ( | struct nl_sock * | sk, | |
int | ifindex, | |||
struct nl_cache ** | result | |||
) |
sk | Netlink socket. | |
ifindex | interface index of the link the classes are attached to. |
Allocates a new cache, initializes it properly and updates it to include all classes attached to the specified interface.
Definition at line 232 of file class.c.
References nl_cache_alloc(), nl_cache_free(), and nl_cache_refill().
struct rtnl_class* rtnl_class_get | ( | struct nl_cache * | cache, | |
int | ifindex, | |||
uint32_t | handle | |||
) | [read] |
cache | class cache | |
ifindex | interface the class is attached to | |
handle | class handle |
Definition at line 260 of file class.c.
References nl_object_get().