libnl  1.1
Modules
Queueing Discipline Modules
Queueing Disciplines

Modules

 Blackhole
 Class Based Queueing (CBQ)
 Differentiated Services Marker (DSMARK)
 Packet/Bytes FIFO (pfifo/bfifo)
 The FIFO qdisc comes in two flavours:
 Hierachical Token Bucket (HTB)
 Network Emulator
 For further documentation see http://linux-net.osdl.org/index.php/Netem.
 (Fast) Prio
 Random Early Detection (RED)
 Stochastic Fairness Queueing (SFQ)
 Token Bucket Filter (TBF)

Module API

int rtnl_qdisc_register (struct rtnl_qdisc_ops *qops)
 Register a qdisc module.
int rtnl_qdisc_unregister (struct rtnl_qdisc_ops *qops)
 Unregister a qdisc module.
struct rtnl_qdisc_ops__rtnl_qdisc_lookup_ops (const char *kind)
struct rtnl_qdisc_opsrtnl_qdisc_lookup_ops (struct rtnl_qdisc *qdisc)

Detailed Description


Function Documentation

int rtnl_qdisc_register ( struct rtnl_qdisc_ops qops)
Parameters:
qopsqdisc module operations

Definition at line 40 of file qdisc_api.c.

References rtnl_qdisc_ops::qo_kind, and rtnl_qdisc_ops::qo_next.

{
struct rtnl_qdisc_ops *o, **op;
if (!qops->qo_kind[0])
BUG();
for (op = &qdisc_ops_list; (o = *op) != NULL; op = &o->qo_next)
if (!strcasecmp(qops->qo_kind, o->qo_kind))
return nl_errno(EEXIST);
qops->qo_next = NULL;
*op = qops;
return 0;
}
int rtnl_qdisc_unregister ( struct rtnl_qdisc_ops qops)
Parameters:
qopsqdisc module operations

Definition at line 61 of file qdisc_api.c.

References rtnl_qdisc_ops::qo_kind, and rtnl_qdisc_ops::qo_next.

{
struct rtnl_qdisc_ops *o, **op;
for (op = &qdisc_ops_list; (o = *op) != NULL; op = &o->qo_next)
if (!strcasecmp(qops->qo_kind, o->qo_kind))
break;
if (!o)
return nl_errno(ENOENT);
*op = qops->qo_next;
return 0;
}