Hierachical Token Bucket (HTB)
[Queueing Discipline ModulesClass Modules]

Attribute Modifications



void rtnl_htb_set_rate2quantum (struct rtnl_qdisc *qdisc, uint32_t rate2quantum)
void rtnl_htb_set_defcls (struct rtnl_qdisc *qdisc, uint32_t defcls)
 Set default class of the htb qdisc to the specified value.
void rtnl_htb_set_prio (struct rtnl_class *class, uint32_t prio)
void rtnl_htb_set_mtu (struct rtnl_class *class, uint32_t mtu)
 Set MTU of the data link.
void rtnl_htb_set_rate (struct rtnl_class *class, uint32_t rate)
 Set rate of HTB class.
void rtnl_htb_set_ceil (struct rtnl_class *class, uint32_t ceil)
 Set ceil of HTB class.
void rtnl_htb_set_rbuffer (struct rtnl_class *class, uint32_t rbuffer)
 Set size of the rate bucket of HTB class.
void rtnl_htb_set_cbuffer (struct rtnl_class *class, uint32_t cbuffer)
 Set size of the ceil bucket of HTB class.
void rtnl_htb_set_quantum (struct rtnl_class *class, uint32_t quantum)
 Set how much bytes to serve from leaf at once of HTB class {use r2q}.
void rtnl_htb_set_overhead (struct rtnl_class *class, uint8_t overhead)
 Set per-packet size overhead used in rate computations of HTB class.
void rtnl_htb_set_mpu (struct rtnl_class *class, uint8_t mpu)
 Set the minimum packet size used in rate computations of HTB class.

Function Documentation

void rtnl_htb_set_defcls ( struct rtnl_qdisc *  qdisc,
uint32_t  defcls 
)
Parameters:
qdisc qdisc to change
defcls new default class

Definition at line 377 of file htb.c.

00378 {
00379         struct rtnl_htb_qdisc *d = htb_qdisc(qdisc);
00380         if (d == NULL)
00381                 return;
00382 
00383         d->qh_defcls = defcls;
00384         d->qh_mask |= SCH_HTB_HAS_DEFCLS;
00385 }

void rtnl_htb_set_mtu ( struct rtnl_class *  class,
uint32_t  mtu 
)
Parameters:
class HTB class to be modified.
mtu New MTU in bytes.

Sets MTU of the data link controlled by the HTB class. If not set, the Ethernet MTU (1600) is used.

Definition at line 405 of file htb.c.

00406 {
00407         struct rtnl_htb_class *d = htb_class(class);
00408         if (d == NULL)
00409                 return;
00410 
00411         d->ch_mtu = mtu;
00412         d->ch_mask |= SCH_HTB_HAS_MTU;
00413 }

void rtnl_htb_set_rate ( struct rtnl_class *  class,
uint32_t  rate 
)
Parameters:
class HTB class to be modified.
rate New rate in bytes per second.

Definition at line 420 of file htb.c.

00421 {
00422         struct rtnl_htb_class *d = htb_class(class);
00423         if (d == NULL)
00424                 return;
00425 
00426         d->ch_rate.rs_cell_log = UINT8_MAX; /* use default value */
00427         d->ch_rate.rs_rate = rate;
00428         d->ch_mask |= SCH_HTB_HAS_RATE;
00429 }

void rtnl_htb_set_ceil ( struct rtnl_class *  class,
uint32_t  ceil 
)
Parameters:
class HTB class to be modified.
ceil New ceil in bytes per second.

Definition at line 436 of file htb.c.

00437 {
00438         struct rtnl_htb_class *d = htb_class(class);
00439         if (d == NULL)
00440                 return;
00441 
00442         d->ch_ceil.rs_cell_log = UINT8_MAX; /* use default value */
00443         d->ch_ceil.rs_rate = ceil;
00444         d->ch_mask |= SCH_HTB_HAS_CEIL;
00445 }

void rtnl_htb_set_rbuffer ( struct rtnl_class *  class,
uint32_t  rbuffer 
)
Parameters:
class HTB class to be modified.
rbuffer New size in bytes.

Definition at line 452 of file htb.c.

00453 {
00454         struct rtnl_htb_class *d = htb_class(class);
00455         if (d == NULL)
00456                 return;
00457 
00458         d->ch_rbuffer = rbuffer;
00459         d->ch_mask |= SCH_HTB_HAS_RBUFFER;
00460 }

void rtnl_htb_set_cbuffer ( struct rtnl_class *  class,
uint32_t  cbuffer 
)
Parameters:
class HTB class to be modified.
cbuffer New size in bytes.

Definition at line 467 of file htb.c.

00468 {
00469         struct rtnl_htb_class *d = htb_class(class);
00470         if (d == NULL)
00471                 return;
00472 
00473         d->ch_cbuffer = cbuffer;
00474         d->ch_mask |= SCH_HTB_HAS_CBUFFER;
00475 }

void rtnl_htb_set_quantum ( struct rtnl_class *  class,
uint32_t  quantum 
)
Parameters:
class HTB class to be modified.
quantum New size in bytes.

Definition at line 482 of file htb.c.

00483 {
00484         struct rtnl_htb_class *d = htb_class(class);
00485         if (d == NULL)
00486                 return;
00487 
00488         d->ch_quantum = quantum;
00489         d->ch_mask |= SCH_HTB_HAS_QUANTUM;
00490 }

void rtnl_htb_set_overhead ( struct rtnl_class *  class,
uint8_t  overhead 
)
Parameters:
class HTB class to be modified.
overhead Size in bytes.

Definition at line 497 of file htb.c.

00498 {
00499         struct rtnl_htb_class *d = htb_class(class);
00500         if (d == NULL)
00501                 return;
00502 
00503         d->ch_overhead = overhead;
00504         d->ch_mask |= SCH_HTB_HAS_OVERHEAD;
00505 }

void rtnl_htb_set_mpu ( struct rtnl_class *  class,
uint8_t  mpu 
)
Parameters:
class HTB class to be modified.
mpu Size in bytes.

Definition at line 512 of file htb.c.

00513 {
00514         struct rtnl_htb_class *d = htb_class(class);
00515         if (d == NULL)
00516                 return;
00517 
00518         d->ch_mpu = mpu;
00519         d->ch_mask |= SCH_HTB_HAS_MPU;
00520 }


Generated on 30 Oct 2009 for libnl by  doxygen 1.6.1