Differences
This shows you the differences between two versions of the page.
|
doc:uci:qos [2012/09/14 05:43] zuirch |
doc:uci:qos [2013/03/28 22:07] (current) thuejk I needed to set "enabled=1" before it worked |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Quality of Service (qos-scripts) configuration ====== | ====== Quality of Service (qos-scripts) configuration ====== | ||
| - | This is a documentation for the UCI configuration file ''[[https://dev.openwrt.org/browser/trunk/package/qos-scripts/files/etc/config/qos|/etc/config/qos]]''. It is used by the package ''qos-scripts'' only. | + | This is the documentation for the UCI configuration file ''/etc/config/qos''. It is used by the package ''qos-scripts'' only. |
| - | | {{:meta:icons:tango:48px-emblem-important.svg.png?nolink}} | So far (2010) there are at least two other packages in the OpenWrt repositories regarding QoS/ToS: ''[[https://dev.openwrt.org/browser/packages/net/dsl-qos-queue|dsl-qos-queue]]'' and ''[[https://dev.openwrt.org/browser/packages/net/wshaper|wshaper]]''. They do not use this file.\\ Please do not install multiple QoS-packages simultaneously! Simply de-install the old one, before installing a new one.\\ ''dsl-qos-queue'' does factor in the [[wp>Asynchronous Transfer Mode|ATM (Asynchronous Transfer Mode)]] overhead, which can be significant. | | + | | {{:meta:icons:tango:48px-emblem-important.svg.png?nolink}} | Do NOT install multiple QoS-packages simultaneously! Uninstall the old package before installing a new one. \\ There are at least two other QoS/ToS packages in the OpenWrt repositories regarding: ''[[https://dev.openwrt.org/browser/packages/net/dsl-qos-queue|dsl-qos-queue]]'' and ''[[https://dev.openwrt.org/browser/packages/net/wshaper|wshaper]]''. They do NOT use this file.\\ \\ ''dsl-qos-queue'' does factor in the [[wp>Asynchronous Transfer Mode|ATM (Asynchronous Transfer Mode)]] overhead, which can be significant. | |
| | {{:meta:icons:tango:dialog-information.png?nolink}} | You can browse the scripts here: ''[[https://dev.openwrt.org/browser/trunk/package/qos-scripts|qos-scripts]]''\\ There is direct LuCI-support for ''qos-scripts'' called: ''luci-app-qos''.\\ NOTE: ''luci-app-qos'' won't start until you enable the ''qos'' Initscript within the System-->Startup tab as well as enable qos under Network-->QoS | | | {{:meta:icons:tango:dialog-information.png?nolink}} | You can browse the scripts here: ''[[https://dev.openwrt.org/browser/trunk/package/qos-scripts|qos-scripts]]''\\ There is direct LuCI-support for ''qos-scripts'' called: ''luci-app-qos''.\\ NOTE: ''luci-app-qos'' won't start until you enable the ''qos'' Initscript within the System-->Startup tab as well as enable qos under Network-->QoS | | ||
| - | | {{:meta:icons:tango:dialog-information.png?nolink}} | For help writing your own script please see [[doc:howto:packet.scheduler:Packet Scheduler]]. | | + | | {{:meta:icons:tango:dialog-information.png?nolink}} | For help writing your own script please see [[doc:howto:packet.scheduler:Traffic Control]]. | |
| | {{:meta:icons:tango:48px-outdated.svg.png?nolink}} | As of [[https://dev.openwrt.org/changeset/25641/trunk|r25641]] ''qos-scripts'' dropped the use of IMQ (package ''iptables-mod-imq'' – Intermediate Queueing Device). Its successor is [[http://www.linuxfoundation.org/collaborate/workgroups/networking/ifb|IFB (Intermediate Functional Block device)]], (requires package: ''kmod-ifb'' and the scheduler action //[[https://dev.openwrt.org/browser/trunk/package/iproute2/patches/200-act_connmark.patch?rev=25639|act_connmark]]// included). | | | {{:meta:icons:tango:48px-outdated.svg.png?nolink}} | As of [[https://dev.openwrt.org/changeset/25641/trunk|r25641]] ''qos-scripts'' dropped the use of IMQ (package ''iptables-mod-imq'' – Intermediate Queueing Device). Its successor is [[http://www.linuxfoundation.org/collaborate/workgroups/networking/ifb|IFB (Intermediate Functional Block device)]], (requires package: ''kmod-ifb'' and the scheduler action //[[https://dev.openwrt.org/browser/trunk/package/iproute2/patches/200-act_connmark.patch?rev=25639|act_connmark]]// included). | | ||
| Line 16: | Line 16: | ||
| ===== Sections ===== | ===== Sections ===== | ||
| - | A minimal QoS configuration usually consists of one //interface// section, of some //rules// allocating packets to at least two buckets and of the //configuration// of the buckets. | + | A minimal QoS configuration usually consists of: |
| + | * one //interface// section | ||
| + | * some //rules// allocating packets to at least two buckets | ||
| + | * //configuration// of the buckets. | ||
| ==== Interface ==== | ==== Interface ==== | ||
| Line 60: | Line 63: | ||
| ==== Classgroup ==== | ==== Classgroup ==== | ||
| - | As we can have more then one interfaces, we can have more then one classgroups. | + | As we can have more then one interface, we can have more then one classgroup. |
| ^ Name ^ Type ^ Required ^ Default ^ Description ^ | ^ Name ^ Type ^ Required ^ Default ^ Description ^ | ||
| Line 87: | Line 90: | ||
| </code> | </code> | ||
| - | 2. Perform minimum configuration needed using UCI command line: | + | 2. Basic configuration using UCI command line: |
| <code> | <code> | ||
| uci set qos.wan.upload=1000 # Upload speed in kBits/s | uci set qos.wan.upload=1000 # Upload speed in kBits/s | ||
| uci set qos.wan.download=16000 # Download speed in kBits/s | uci set qos.wan.download=16000 # Download speed in kBits/s | ||
| + | uci set qos.wan.enabled=1 | ||
| uci commit qos</code> | uci commit qos</code> | ||
| - | 3. Start it immediatly (look for error output and test): | + | 3. Start it and look for error output and test): |
| <code> | <code> | ||
| Line 128: | Line 132: | ||
| Another biggie was the exact meaning of each type. Types are necessary for connection tracking. By default, **Classify** is not run on a connection that had already been assigned a traffic class, so it is the initial connection-tracked classification. **Reclassify** can override the traffic class per packet, without altering the connection tracking mark. **Default** is a fall-back for everything that has not been marked by Classify/Reclassify. Rules get processed by type first (Classify gets processed first, then Reclassify and finally Default) and then based on the order in the configuration file (top to bottom). | Another biggie was the exact meaning of each type. Types are necessary for connection tracking. By default, **Classify** is not run on a connection that had already been assigned a traffic class, so it is the initial connection-tracked classification. **Reclassify** can override the traffic class per packet, without altering the connection tracking mark. **Default** is a fall-back for everything that has not been marked by Classify/Reclassify. Rules get processed by type first (Classify gets processed first, then Reclassify and finally Default) and then based on the order in the configuration file (top to bottom). | ||
| + | |||
| + | ===== Tags ===== | ||
| + | {{tag>QoS}} | ||
doc/uci/qos.1347594203.txt.bz2 · Last modified: 2012/09/14 05:43 by zuirch
