libnl  1.1.4

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. More...
 
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. More...
 
void rtnl_htb_set_rate (struct rtnl_class *class, uint32_t rate)
 Set rate of HTB class. More...
 
void rtnl_htb_set_ceil (struct rtnl_class *class, uint32_t ceil)
 Set ceil of HTB class. More...
 
void rtnl_htb_set_rbuffer (struct rtnl_class *class, uint32_t rbuffer)
 Set size of the rate bucket of HTB class. More...
 
void rtnl_htb_set_cbuffer (struct rtnl_class *class, uint32_t cbuffer)
 Set size of the ceil bucket of HTB class. More...
 
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}. More...
 
void rtnl_htb_set_overhead (struct rtnl_class *class, uint8_t overhead)
 Set per-packet size overhead used in rate computations of HTB class. More...
 
void rtnl_htb_set_mpu (struct rtnl_class *class, uint8_t mpu)
 Set the minimum packet size used in rate computations of HTB class. More...
 

Detailed Description

Function Documentation

◆ rtnl_htb_set_defcls()

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

Definition at line 377 of file htb.c.

378 {
379  struct rtnl_htb_qdisc *d = htb_qdisc(qdisc);
380  if (d == NULL)
381  return;
382 
383  d->qh_defcls = defcls;
384  d->qh_mask |= SCH_HTB_HAS_DEFCLS;
385 }

◆ rtnl_htb_set_mtu()

void rtnl_htb_set_mtu ( struct rtnl_class *  class,
uint32_t  mtu 
)
Parameters
classHTB class to be modified.
mtuNew 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.

406 {
407  struct rtnl_htb_class *d = htb_class(class);
408  if (d == NULL)
409  return;
410 
411  d->ch_mtu = mtu;
412  d->ch_mask |= SCH_HTB_HAS_MTU;
413 }

◆ rtnl_htb_set_rate()

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

Definition at line 420 of file htb.c.

421 {
422  struct rtnl_htb_class *d = htb_class(class);
423  if (d == NULL)
424  return;
425 
426  d->ch_rate.rs_cell_log = UINT8_MAX; /* use default value */
427  d->ch_rate.rs_rate = rate;
428  d->ch_mask |= SCH_HTB_HAS_RATE;
429 }

◆ rtnl_htb_set_ceil()

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

Definition at line 436 of file htb.c.

437 {
438  struct rtnl_htb_class *d = htb_class(class);
439  if (d == NULL)
440  return;
441 
442  d->ch_ceil.rs_cell_log = UINT8_MAX; /* use default value */
443  d->ch_ceil.rs_rate = ceil;
444  d->ch_mask |= SCH_HTB_HAS_CEIL;
445 }

◆ rtnl_htb_set_rbuffer()

void rtnl_htb_set_rbuffer ( struct rtnl_class *  class,
uint32_t  rbuffer 
)
Parameters
classHTB class to be modified.
rbufferNew size in bytes.

Definition at line 452 of file htb.c.

453 {
454  struct rtnl_htb_class *d = htb_class(class);
455  if (d == NULL)
456  return;
457 
458  d->ch_rbuffer = rbuffer;
459  d->ch_mask |= SCH_HTB_HAS_RBUFFER;
460 }

◆ rtnl_htb_set_cbuffer()

void rtnl_htb_set_cbuffer ( struct rtnl_class *  class,
uint32_t  cbuffer 
)
Parameters
classHTB class to be modified.
cbufferNew size in bytes.

Definition at line 467 of file htb.c.

468 {
469  struct rtnl_htb_class *d = htb_class(class);
470  if (d == NULL)
471  return;
472 
473  d->ch_cbuffer = cbuffer;
474  d->ch_mask |= SCH_HTB_HAS_CBUFFER;
475 }

◆ rtnl_htb_set_quantum()

void rtnl_htb_set_quantum ( struct rtnl_class *  class,
uint32_t  quantum 
)
Parameters
classHTB class to be modified.
quantumNew size in bytes.

Definition at line 482 of file htb.c.

483 {
484  struct rtnl_htb_class *d = htb_class(class);
485  if (d == NULL)
486  return;
487 
488  d->ch_quantum = quantum;
489  d->ch_mask |= SCH_HTB_HAS_QUANTUM;
490 }

◆ rtnl_htb_set_overhead()

void rtnl_htb_set_overhead ( struct rtnl_class *  class,
uint8_t  overhead 
)
Parameters
classHTB class to be modified.
overheadSize in bytes.

Definition at line 497 of file htb.c.

498 {
499  struct rtnl_htb_class *d = htb_class(class);
500  if (d == NULL)
501  return;
502 
503  d->ch_overhead = overhead;
504  d->ch_mask |= SCH_HTB_HAS_OVERHEAD;
505 }

◆ rtnl_htb_set_mpu()

void rtnl_htb_set_mpu ( struct rtnl_class *  class,
uint8_t  mpu 
)
Parameters
classHTB class to be modified.
mpuSize in bytes.

Definition at line 512 of file htb.c.

513 {
514  struct rtnl_htb_class *d = htb_class(class);
515  if (d == NULL)
516  return;
517 
518  d->ch_mpu = mpu;
519  d->ch_mask |= SCH_HTB_HAS_MPU;
520 }