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)

Function Documentation

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

Definition at line 40 of file qdisc_api.c.

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

00041 {
00042         struct rtnl_qdisc_ops *o, **op;
00043 
00044         if (!qops->qo_kind[0])
00045                 BUG();
00046 
00047         for (op = &qdisc_ops_list; (o = *op) != NULL; op = &o->qo_next)
00048                 if (!strcasecmp(qops->qo_kind, o->qo_kind))
00049                         return nl_errno(EEXIST);
00050 
00051         qops->qo_next = NULL;
00052         *op = qops;
00053 
00054         return 0;
00055 }

int rtnl_qdisc_unregister ( struct rtnl_qdisc_ops qops  ) 
Parameters:
qops qdisc module operations

Definition at line 61 of file qdisc_api.c.

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

00062 {
00063         struct rtnl_qdisc_ops *o, **op;
00064 
00065         for (op = &qdisc_ops_list; (o = *op) != NULL; op = &o->qo_next)
00066                 if (!strcasecmp(qops->qo_kind, o->qo_kind))
00067                         break;
00068 
00069         if (!o)
00070                 return nl_errno(ENOENT);
00071 
00072         *op = qops->qo_next;
00073 
00074         return 0;
00075 }


Generated on 30 Oct 2009 for libnl by  doxygen 1.6.1