pf-queue — format of pf-queue component configuration
General syntax rules of Kernun Firewall configuration files are described in configuration(7). This man page describes types, sections and items specific for the pf-queue component configuration.
Repeatable sections/items are marked by
the '*' before section/item name.
Configuration directives have attributes of several value-types. For the basic types description, see configuration(7).
Enumeration is a list of words (names) representing integer values. Some enumerations accept both names and direct integer values; in this case, enumeration description contains values for every name (in parenthesis next to name). For other enumerations, using of names is obligatory.
The following enumerations are used in pf-queue configuration directives:
bandwidth-mode (name-usage obligatory)PF bandwidth config modes.
absAbsolute bandwidth
ratioBandwidth relative to parent
pf-sc-setting (name-usage obligatory)PF Service Curve setting.
total, initial
Configuration of pf-queue library component consists of following prototypes:
pf-sc ... ;
pf-sched-options { ... }
* pf-queue name { ... }
pf-sc [total] total-bw;pf-sc initial init-bw milliseconds total-bw;PF - HFSC Service Curve.
pf-sc-setting, optional, default: total)init-bw (type: uint64)milliseconds (type: uint32)total-bw (type: uint64)pf-sched-options {
default ... ;
red ... ;
rio ... ;
ecn ... ;
borrow ... ;
realtime ... ;
upperlimit ... ;
linkshare ... ;
}
default;red;rio;ecn;borrow;realtime [total] total-bw;realtime initial init-bw milliseconds total-bw;PF - HFSC Service Curve.
pf-sc-setting, optional, default: total)init-bw (type: uint64)milliseconds (type: uint32)total-bw (type: uint64)upperlimit [total] total-bw;upperlimit initial init-bw milliseconds total-bw;PF - HFSC Service Curve.
pf-sc-setting, optional, default: total)init-bw (type: uint64)milliseconds (type: uint32)total-bw (type: uint64)linkshare [total] total-bw;linkshare initial init-bw milliseconds total-bw;PF - HFSC Service Curve.
pf-sc-setting, optional, default: total)init-bw (type: uint64)milliseconds (type: uint32)total-bw (type: uint64)[End of section pf-sched-options description.]
pf-queue name {
parent ... ;
bandwidth ... ;
priority ... ;
qlimit ... ;
cbq { ... }
priq { ... }
hfsc { ... }
}
Packet filter QUEUE definition.
For configuration attributes details, see pf.conf(5).
CBQ, PRIQ and HFSC are mutually exclusive.
parent name;Parent queue definition (child queue only).
name (type: name of pf-queue, see above)bandwidth [abs] bits;bandwidth ratio percent;Queue bandwidth limit.
If omitted, 100% of parent bandwidth assumed.
bandwidth-mode, optional, default: abs)bits (type: uint64)Required bandwidth in bps.
percent (type: uint8)Required part of parent bandwidth.
Percent value must be less 100.
priority [prty];prty (type: uint8, optional, default: 1)qlimit packets;packets (type: uint32)cbq {
default ... ;
red ... ;
rio ... ;
ecn ... ;
borrow ... ;
}
cbq section is derived from
pf-sched-options section prototype.
For detail description of it, see above.
cbq section:Item realtime is not valid.
Item upperlimit is not valid.
Item linkshare is not valid.
priq {
default ... ;
red ... ;
rio ... ;
ecn ... ;
}
priq section is derived from
pf-sched-options section prototype.
For detail description of it, see above.
priq section:Item borrow is not valid.
Item realtime is not valid.
Item upperlimit is not valid.
Item linkshare is not valid.
hfsc {
default ... ;
red ... ;
rio ... ;
ecn ... ;
realtime ... ;
upperlimit ... ;
linkshare ... ;
}
hfsc section is derived from
pf-sched-options section prototype.
For detail description of it, see above.
hfsc section:Item borrow is not valid.
[End of section pf-queue description.]