Variables | |
struct nl_object_ops | qdisc_obj_ops |
Allocation/Freeing | |
| |
struct rtnl_qdisc * | rtnl_qdisc_alloc (void) |
void | rtnl_qdisc_put (struct rtnl_qdisc *qdisc) |
Iterators | |
| |
void | rtnl_qdisc_foreach_child (struct rtnl_qdisc *qdisc, struct nl_cache *cache, void(*cb)(struct nl_object *, void *), void *arg) |
Call a callback for each child class of a qdisc. | |
void | rtnl_qdisc_foreach_cls (struct rtnl_qdisc *qdisc, struct nl_cache *cache, void(*cb)(struct nl_object *, void *), void *arg) |
Call a callback for each filter attached to the qdisc. | |
Attributes | |
| |
void | rtnl_qdisc_set_ifindex (struct rtnl_qdisc *qdisc, int ifindex) |
int | rtnl_qdisc_get_ifindex (struct rtnl_qdisc *qdisc) |
void | rtnl_qdisc_set_handle (struct rtnl_qdisc *qdisc, uint32_t handle) |
uint32_t | rtnl_qdisc_get_handle (struct rtnl_qdisc *qdisc) |
void | rtnl_qdisc_set_parent (struct rtnl_qdisc *qdisc, uint32_t parent) |
uint32_t | rtnl_qdisc_get_parent (struct rtnl_qdisc *qdisc) |
void | rtnl_qdisc_set_kind (struct rtnl_qdisc *qdisc, const char *name) |
char * | rtnl_qdisc_get_kind (struct rtnl_qdisc *qdisc) |
uint64_t | rtnl_qdisc_get_stat (struct rtnl_qdisc *qdisc, enum rtnl_tc_stats_id id) |
Qdisc Specific Options | |
| |
struct nl_msg * | rtnl_qdisc_get_opts (struct rtnl_qdisc *qdisc) |
Return qdisc specific options for use in TCA_OPTIONS. |
void rtnl_qdisc_foreach_child | ( | struct rtnl_qdisc * | qdisc, | |
struct nl_cache * | cache, | |||
void(*)(struct nl_object *, void *) | cb, | |||
void * | arg | |||
) |
qdisc | the parent qdisc | |
cache | a class cache including all classes of the interface the specified qdisc is attached to | |
cb | callback function | |
arg | argument to be passed to callback function |
Definition at line 139 of file qdisc_obj.c.
References nl_cache_foreach_filter().
00141 { 00142 struct rtnl_class *filter; 00143 00144 filter = rtnl_class_alloc(); 00145 if (!filter) 00146 return; 00147 00148 rtnl_class_set_parent(filter, qdisc->q_handle); 00149 rtnl_class_set_ifindex(filter, qdisc->q_ifindex); 00150 rtnl_class_set_kind(filter, qdisc->q_kind); 00151 00152 nl_cache_foreach_filter(cache, (struct nl_object *) filter, cb, arg); 00153 00154 rtnl_class_put(filter); 00155 }
void rtnl_qdisc_foreach_cls | ( | struct rtnl_qdisc * | qdisc, | |
struct nl_cache * | cache, | |||
void(*)(struct nl_object *, void *) | cb, | |||
void * | arg | |||
) |
qdisc | the parent qdisc | |
cache | a filter cache including at least all the filters attached to the specified qdisc | |
cb | callback function | |
arg | argument to be passed to callback function |
Definition at line 165 of file qdisc_obj.c.
References nl_cache_foreach_filter().
00167 { 00168 struct rtnl_cls *filter; 00169 00170 filter = rtnl_cls_alloc(); 00171 if (!filter) 00172 return; 00173 00174 rtnl_cls_set_ifindex(filter, qdisc->q_ifindex); 00175 rtnl_cls_set_parent(filter, qdisc->q_parent); 00176 00177 nl_cache_foreach_filter(cache, (struct nl_object *) filter, cb, arg); 00178 rtnl_cls_put(filter); 00179 }
struct nl_msg* rtnl_qdisc_get_opts | ( | struct rtnl_qdisc * | qdisc | ) | [read] |
qdisc | qdisc carrying the optiosn |
Definition at line 248 of file qdisc_obj.c.
References rtnl_qdisc_ops::qo_get_opts.
00249 { 00250 struct rtnl_qdisc_ops *ops; 00251 00252 ops = rtnl_qdisc_lookup_ops(qdisc); 00253 if (ops && ops->qo_get_opts) 00254 return ops->qo_get_opts(qdisc); 00255 00256 return NULL; 00257 }
struct nl_object_ops qdisc_obj_ops |
{ .oo_name = "route/qdisc", .oo_size = sizeof(struct rtnl_qdisc), .oo_free_data = qdisc_free_data, .oo_clone = qdisc_clone, .oo_dump[NL_DUMP_BRIEF] = qdisc_dump_brief, .oo_dump[NL_DUMP_FULL] = qdisc_dump_full, .oo_dump[NL_DUMP_STATS] = qdisc_dump_stats, .oo_compare = tca_compare, .oo_id_attrs = (TCA_ATTR_IFINDEX | TCA_ATTR_HANDLE), }
Definition at line 261 of file qdisc_obj.c.