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.
 
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.
 

Detailed Description

Function Documentation

◆ rtnl_htb_set_rate2quantum()

void rtnl_htb_set_rate2quantum ( struct rtnl_qdisc *  qdisc,
uint32_t  rate2quantum 
)

Definition at line 362 of file htb.c.

363{
364 struct rtnl_htb_qdisc *d = htb_qdisc(qdisc);
365 if (d == NULL)
366 return;
367
368 d->qh_rate2quantum = rate2quantum;
369 d->qh_mask |= SCH_HTB_HAS_RATE2QUANTUM;
370}

◆ 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_prio()

void rtnl_htb_set_prio ( struct rtnl_class *  class,
uint32_t  prio 
)

Definition at line 387 of file htb.c.

388{
389 struct rtnl_htb_class *d = htb_class(class);
390 if (d == NULL)
391 return;
392
393 d->ch_prio = prio;
394 d->ch_mask |= SCH_HTB_HAS_PRIO;
395}

◆ 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}