QOS(7)
π¦ QOS(7) β bestie's guide to Quality of Service specs π¦
okay so this is the manual page for qos β the Quality of Service specification format, living its best life in the Miscellaneous section of the manual. Pull up a chair, grab a strawberry, we're doing ATM traffic specs together π
β¨ NAME β¨
qos β Quality of Service specification. That's it, that's the name, short and iconic π
π DESCRIPTION π
text2qos and qos2text use the format described in this man page. And because every single standard ATM tool on Linux uses those functions to convert to or from the textual representation of QOS specifications, they expect them in the same format too. So likeβ¦ this format is the format. Periodt β¨
π the fundamentals π
The most fundamental parameters are the traffic class and the AAL (ATM Adaption Layer) type.
- If the connection is bi-directional, both directions have the same traffic class and the same AAL type. No pick-and-choose, bestie, it's a package deal.
- The traffic class and the AAL type are the first elements (in any order) in a QOS specification.
- The traffic class is the only required element.
- If the AAL type is omitted, the application will provide a default value.
The following traffic classes are recognized:
ubrβ Unassigned Bit Ratecbrβ Constant Bit Rateabrβ Available Bit Rate
The following AAL types are recognized:
aal0β ("raw ATM")aal5
If both the traffic class and the AAL type are specified, they are separated by a comma.
π§ the full format π§
If more parameters are supplied, the traffic class and AAL type must be followed by a colon.
Traffic parameters can be specified independently for the transmit and the receive direction. Their parameter lists are prefixed with tx: and rx:, respectively.
- If both parameter lists are present, the
tx:list must precede therx:list. Order matters, no cap. - If a parameter is equal for both directions, it can be placed in a common parameter list (without prefix).
The general format is as follows:
class_and_aal:common_list,tx:list,rx:list
Each list consists of elements specifying a parameter. Elements can appear in any order and they are separated with commas.
The following elements are recognized:
pcr=rateβ is a synonym formax_pcr=ratemax_pcr=rateβ The upper limit for the peak cell rate to assign. If omitted, any rate up to link speed may be chosen.min_pcr=rateβ The lower limit for the peak cell rate to assign. If omitted, any rate above zero can be chosen.sdu=sizeβ is a synonym formax_sdu=sizemax_sdu=sizeβ The size of the largest packet that may be sent or received. If omitted, a context-dependent default value is used.
π the values π
Values are specified as follows:
rateβ The (decimal) rate, optionally followed by a unit. The unit may be prefixed with one of the multipliersk,M, orG, meaning1'000,1'000'000, or1'000'000'000, respectively. The unitscps(cells per second) andbps(bits per second) are recognized. If multiplier and unit are omitted, cells per second are assumed. Note that the rate is always converted to cells per second, so rounding errors may occur when specifying the rate in bits per second. Rates measured in bits per second are considered to be user data rates, i.e. one cell corresponds to 384 bits. The rate can be a fractional value, e.g.1.3Mbps. It is an error to specify only a multiplier without a unit. Link speed can be indicated by using the keywordmaxas the rate.sizeβ The (decimal) number of bytes.
πΈ the none situation πΈ
The tx: or rx: lists may also just contain the single element none, which indicates that the corresponding direction is not used.
β οΈ It is an error to specify none for both directions. Pick a lane, bestie π
π«Ά the rules of the road π«Ά
Note that commas must never follow colons or other commas. Also, whitespace is not allowed inside a QOS specification.
QOS specifications are case-insensitive. Slay β¨
π₯ EXAMPLES π₯
Each of the following lines contains a valid QOS specification:
ubr
ubr:pcr=100kbps
cbr,aal0:pcr=64kbps
CBR:max_pcr=11Mbps,min_pcr=10mbps,sdu=8192
aal5,ubr:tx:none
cbr:tx:pcr=30000,rx:none
The following specificiations are equivalent:
CBR,AAL5:PCR=48Mbps
cbr,aal5:max_pcr=125000
cbr,aal5:tx:pcr=125kcps,rx:pcr=125kcps
three different fits, same exact energy π
π AUTHOR π
Werner Almesberger, EPFL LRC/ICA <werner.almesberger@epfl.ch>
Give him his flowers, he wrote the whole thing πΈ
and that's the whole vibe check, bestie β this page came from the Linux manual set, dated April 20, 2000, and it's giving iconic early-2000s ATM energy. go spec those traffic classes, you absolute main character ππ
π¦ where this page comes from
- arch rolling: linux-atm 2.5.2-9 Β· GPL-2.0-only
- debian bookworm: atm-tools 1:2.5.1-4+b2
- debian trixie: atm-tools 1:2.5.1-7
- fedora 43: linux-atm 2.5.1-45.fc43 Β· GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 44: linux-atm 2.5.1-46.fc44 Β· GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.0-or-later
- opensuse-leap 16.0: linux-atm 2.5.2-160000.3.2 Β· BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: linux-atm 2.5.2-160000.3.2 Β· BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: linux-atm 2.5.2-160000.3.2 Β· BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: linux-atm 2.5.2-160000.3.2 Β· BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later
- ubuntu jammy: atm-tools 1:2.5.1-4build2
- ubuntu noble: atm-tools 1:2.5.1-5.1build1
- ubuntu resolute: atm-tools 1:2.5.1-9
- ubuntu stonking: atm-tools 1:2.5.1-9
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms