Queueing Discipline Object
[Queueing Disciplines]

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.

Function Documentation

void rtnl_qdisc_foreach_child ( struct rtnl_qdisc *  qdisc,
struct nl_cache *  cache,
void(*)(struct nl_object *, void *)  cb,
void *  arg 
)
Parameters:
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 
)
Parameters:
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]
Parameters:
qdisc qdisc carrying the optiosn
Returns:
new headerless netlink message carrying the options as payload

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 }


Variable Documentation

struct nl_object_ops qdisc_obj_ops
Initial value:
 {
        .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.


Generated on 30 Oct 2009 for libnl by  doxygen 1.6.1