libnl  3.2.24-rc1
Hierachical Token Bucket (HTB)

Attribute Modifications

uint32_t rtnl_htb_get_rate2quantum (struct rtnl_qdisc *qdisc)
 Return rate/quantum ratio of HTB qdisc. More...
 
int rtnl_htb_set_rate2quantum (struct rtnl_qdisc *qdisc, uint32_t rate2quantum)
 
uint32_t rtnl_htb_get_defcls (struct rtnl_qdisc *qdisc)
 Return default class of HTB qdisc. More...
 
int rtnl_htb_set_defcls (struct rtnl_qdisc *qdisc, uint32_t defcls)
 Set default class of the htb qdisc to the specified value. More...
 
uint32_t rtnl_htb_get_prio (struct rtnl_class *class)
 
int rtnl_htb_set_prio (struct rtnl_class *class, uint32_t prio)
 
uint32_t rtnl_htb_get_rate (struct rtnl_class *class)
 Return rate of HTB class. More...
 
int rtnl_htb_set_rate (struct rtnl_class *class, uint32_t rate)
 Set rate of HTB class. More...
 
uint32_t rtnl_htb_get_ceil (struct rtnl_class *class)
 Return ceil rate of HTB class. More...
 
int rtnl_htb_set_ceil (struct rtnl_class *class, uint32_t ceil)
 Set ceil rate of HTB class. More...
 
uint32_t rtnl_htb_get_rbuffer (struct rtnl_class *class)
 Return burst buffer size of HTB class. More...
 
int rtnl_htb_set_rbuffer (struct rtnl_class *class, uint32_t rbuffer)
 Set size of the rate bucket of HTB class. More...
 
uint32_t rtnl_htb_get_cbuffer (struct rtnl_class *class)
 Return ceil burst buffer size of HTB class. More...
 
int rtnl_htb_set_cbuffer (struct rtnl_class *class, uint32_t cbuffer)
 Set size of the ceil bucket of HTB class. More...
 
uint32_t rtnl_htb_get_quantum (struct rtnl_class *class)
 Return quantum of HTB class. More...
 
int rtnl_htb_set_quantum (struct rtnl_class *class, uint32_t quantum)
 Set quantum of HTB class (overwrites value calculated based on r2q) More...
 
int rtnl_htb_get_level (struct rtnl_class *class)
 Return level of HTB class. More...
 
int rtnl_htb_set_level (struct rtnl_class *class, int level)
 Set level of HTB class. More...
 

Detailed Description

Function Documentation

uint32_t rtnl_htb_get_rate2quantum ( struct rtnl_qdisc *  qdisc)

Return rate/quantum ratio of HTB qdisc.

Parameters
qdischtb qdisc object
Returns
rate/quantum ratio or 0 if unspecified

Definition at line 293 of file htb.c.

uint32_t rtnl_htb_get_defcls ( struct rtnl_qdisc *  qdisc)

Return default class of HTB qdisc.

Parameters
qdischtb qdisc object

Returns the classid of the class where all unclassified traffic goes to.

Returns
classid or TC_H_UNSPEC if unspecified.

Definition at line 326 of file htb.c.

int rtnl_htb_set_defcls ( struct rtnl_qdisc *  qdisc,
uint32_t  defcls 
)

Set default class of the htb qdisc to the specified value.

Parameters
qdiscqdisc to change
defclsnew default class

Definition at line 342 of file htb.c.

uint32_t rtnl_htb_get_rate ( struct rtnl_class *  class)

Return rate of HTB class.

Parameters
classhtb class object
Returns
Rate in bytes/s or 0 if unspecified.

Definition at line 384 of file htb.c.

int rtnl_htb_set_rate ( struct rtnl_class *  class,
uint32_t  rate 
)

Set rate of HTB class.

Parameters
classhtb class object
ratenew rate in bytes per second
Returns
0 on success or a negative error code.

Definition at line 401 of file htb.c.

uint32_t rtnl_htb_get_ceil ( struct rtnl_class *  class)

Return ceil rate of HTB class.

Parameters
classhtb class object
Returns
Ceil rate in bytes/s or 0 if unspecified

Definition at line 421 of file htb.c.

int rtnl_htb_set_ceil ( struct rtnl_class *  class,
uint32_t  ceil 
)

Set ceil rate of HTB class.

Parameters
classhtb class object
ceilnew ceil rate number of bytes per second
Returns
0 on success or a negative error code.

Definition at line 438 of file htb.c.

uint32_t rtnl_htb_get_rbuffer ( struct rtnl_class *  class)

Return burst buffer size of HTB class.

Parameters
classhtb class object
Returns
Burst buffer size or 0 if unspecified

Definition at line 458 of file htb.c.

int rtnl_htb_set_rbuffer ( struct rtnl_class *  class,
uint32_t  rbuffer 
)

Set size of the rate bucket of HTB class.

Parameters
classHTB class to be modified.
rbufferNew size in bytes.

Definition at line 474 of file htb.c.

uint32_t rtnl_htb_get_cbuffer ( struct rtnl_class *  class)

Return ceil burst buffer size of HTB class.

Parameters
classhtb class object
Returns
Ceil burst buffer size or 0 if unspecified

Definition at line 493 of file htb.c.

int rtnl_htb_set_cbuffer ( struct rtnl_class *  class,
uint32_t  cbuffer 
)

Set size of the ceil bucket of HTB class.

Parameters
classHTB class to be modified.
cbufferNew size in bytes.

Definition at line 509 of file htb.c.

uint32_t rtnl_htb_get_quantum ( struct rtnl_class *  class)

Return quantum of HTB class.

Parameters
classhtb class object

See XXX[quantum def]

Returns
Quantum or 0 if unspecified.

Definition at line 530 of file htb.c.

int rtnl_htb_set_quantum ( struct rtnl_class *  class,
uint32_t  quantum 
)

Set quantum of HTB class (overwrites value calculated based on r2q)

Parameters
classhtb class object
quantumnew quantum in number of bytes

See XXX[quantum def]

Returns
0 on success or a negative error code.

Definition at line 550 of file htb.c.

int rtnl_htb_get_level ( struct rtnl_class *  class)

Return level of HTB class.

Parameters
classhtb class object

Returns the level of the HTB class. Leaf classes are assigned level 0, root classes have level (TC_HTB_MAXDEPTH - 1). Interior classes have a level of one less than their parent.

Returns
Level or -NLE_OPNOTSUPP

Definition at line 573 of file htb.c.

int rtnl_htb_set_level ( struct rtnl_class *  class,
int  level 
)

Set level of HTB class.

Parameters
classhtb class object
levelnew level of HTB class

Sets the level of a HTB class. Note that changing the level of a HTB class does not change the level of its in kernel counterpart. This function is provided only to create HTB objects which can be compared against or filtered upon.

Returns
0 on success or a negative error code.

Definition at line 595 of file htb.c.