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

Back to top

doc/uci/qos.1347594203.txt.bz2 · Last modified: 2012/09/14 05:43 by zuirch