|
libnl 1.1
|
Variables | |
| struct nl_object_ops | class_obj_ops |
Allocation/Freeing | |
| struct rtnl_class * | rtnl_class_alloc (void) |
| void | rtnl_class_put (struct rtnl_class *class) |
Leaf Qdisc | |
| struct rtnl_qdisc * | rtnl_class_leaf_qdisc (struct rtnl_class *class, struct nl_cache *cache) |
| Lookup the leaf qdisc of a class. | |
Iterators | |
| void | rtnl_class_foreach_child (struct rtnl_class *class, struct nl_cache *cache, void(*cb)(struct nl_object *, void *), void *arg) |
| Call a callback for each child of a class. | |
| void | rtnl_class_foreach_cls (struct rtnl_class *class, struct nl_cache *cache, void(*cb)(struct nl_object *, void *), void *arg) |
| Call a callback for each classifier attached to the class. | |
Attributes | |
| void | rtnl_class_set_ifindex (struct rtnl_class *class, int ifindex) |
| int | rtnl_class_get_ifindex (struct rtnl_class *class) |
| void | rtnl_class_set_handle (struct rtnl_class *class, uint32_t handle) |
| uint32_t | rtnl_class_get_handle (struct rtnl_class *class) |
| void | rtnl_class_set_parent (struct rtnl_class *class, uint32_t parent) |
| uint32_t | rtnl_class_get_parent (struct rtnl_class *class) |
| void | rtnl_class_set_kind (struct rtnl_class *class, const char *name) |
| char * | rtnl_class_get_kind (struct rtnl_class *class) |
| uint64_t | rtnl_class_get_stat (struct rtnl_class *class, enum rtnl_tc_stats_id id) |
| struct rtnl_qdisc* rtnl_class_leaf_qdisc | ( | struct rtnl_class * | class, |
| struct nl_cache * | cache | ||
| ) | [read] |
| class | the parent class |
| cache | a qdisc cache including at laest all qdiscs of the interface the specified class is attached to |
Definition at line 145 of file class_obj.c.
References rtnl_qdisc_get_by_parent().
{
struct rtnl_qdisc *leaf;
if (!class->c_info)
return NULL;
leaf = rtnl_qdisc_get_by_parent(cache, class->c_ifindex,
class->c_handle);
if (!leaf || leaf->q_handle != class->c_info)
return NULL;
return leaf;
}
| void rtnl_class_foreach_child | ( | struct rtnl_class * | class, |
| struct nl_cache * | cache, | ||
| void(*)(struct nl_object *, void *) | cb, | ||
| void * | arg | ||
| ) |
| class | the parent class |
| cache | a class cache including all classes of the interface the specified class is attached to |
| cb | callback function |
| arg | argument to be passed to callback function |
Definition at line 177 of file class_obj.c.
References nl_cache_foreach_filter().
{
struct rtnl_class *filter;
filter = rtnl_class_alloc();
if (!filter)
return;
rtnl_class_set_parent(filter, class->c_handle);
rtnl_class_set_ifindex(filter, class->c_ifindex);
rtnl_class_set_kind(filter, class->c_kind);
nl_cache_foreach_filter(cache, (struct nl_object *) filter, cb, arg);
rtnl_class_put(filter);
}
| void rtnl_class_foreach_cls | ( | struct rtnl_class * | class, |
| struct nl_cache * | cache, | ||
| void(*)(struct nl_object *, void *) | cb, | ||
| void * | arg | ||
| ) |
| class | the parent class |
| cache | a filter cache including at least all the filters attached to the specified class |
| cb | callback function |
| arg | argument to be passed to callback function |
Definition at line 202 of file class_obj.c.
References nl_cache_foreach_filter().
{
struct rtnl_cls *filter;
filter = rtnl_cls_alloc();
if (!filter)
return;
rtnl_cls_set_ifindex(filter, class->c_ifindex);
rtnl_cls_set_parent(filter, class->c_parent);
nl_cache_foreach_filter(cache, (struct nl_object *) filter, cb, arg);
rtnl_cls_put(filter);
}
| struct nl_object_ops class_obj_ops |
{
.oo_name = "route/class",
.oo_size = sizeof(struct rtnl_class),
.oo_free_data = class_free_data,
.oo_clone = class_clone,
.oo_dump[NL_DUMP_BRIEF] = class_dump_brief,
.oo_dump[NL_DUMP_FULL] = class_dump_full,
.oo_dump[NL_DUMP_STATS] = class_dump_stats,
.oo_compare = tca_compare,
.oo_id_attrs = (TCA_ATTR_IFINDEX | TCA_ATTR_HANDLE),
}
Definition at line 275 of file class_obj.c.
1.7.4