Show pagesourceOld revisionsBacklinksBack to top × Table of Contents SQM configuration /etc/config/sqm Sections Queue Setup Scripts SQM configuration /etc/config/sqm The sqm-scripts package in OpenWrt controls Bufferbloat - the undesirable latency that comes from the router buffering too much data. Smart Queue Management (SQM) is our name for an intelligent combination of better packet scheduling (flow queueing) techniques along with with active queue length management (AQM). The Smart Queue Management (SQM) - Minimizing Bufferbloat page tells how to configure SQM quickly. This page discusses the values found in the SQM configuration file in /etc/config/sqm. Sections The queue section declares buffer parameters for an interface. Name Type Required Default Description enabled boolean no enable or disable the queue section interface string yes eth0 interface name upload integer 2032 Upload speed (kbit/s) (egress) set to 0 to selectively disable egress shaping download integer 14698 Download speed (kbit/s) (ingress) set to 0 to selectively disable ingress shaping linklayer string none “none”, “ethernet”, or “atm”. Link-layer adaptation. See sqmlink_layer_adaptation_tab overhead integer 0 Per Packet Overhead, bytes tcMTU integer 2047 Maximal Size for size and rate calculations, bytes; needs to be >= interface MTU + overhead tcTSIZE integer 512 Number of entries in size/rate tables, TSIZE; for ATM choose TSIZE = (tcMTU + 1) / 16 tcMPU integer 0 Minimal packet size, MPU (byte); needs to be > 0 for ethernet size tables ilimit integer (none) Hard limit on ingress queues; leave empty for default elimit integer (none) Hard limit on egress queues; leave empty for default itarget string (none) Latency target for ingress, e.g 5ms [units: s, ms, or us]; leave empty for automatic selection, put in the word default for the qdisc's default. etarget string (none) Latency target for egress, e.g. 5ms [units: s, ms, or us]; leave empty for automatic selection, put in the word default for the qdisc's default. ingress_ecn string ECN “ECN” or “NOECN”. Explicit congestion notification (ECN) status on inbound packets (ingress) egress_ecn string ECN “ECN” or “NOECN”. Explicit congestion notification (ECN) status on outbound packets (egress) target string 5ms Latency target for ingress, e.g 5ms [units: s, ms, or us]; leave empty for automatic selection, put in the word default for the qdisc's default. squash_dscp integer 1 Squash DSCP on inbound packets (ingress). 1 = squash, 0 = do not squash squash_ingress integer 1 Ignore DSCP on ingress. 1 = ignore, 0 = allow qdisc string fq_codel fq_codel efq_codel nfq_codel sfq codel ns2_codel pie sfq cake (availability varies, check /var/run/sqm/available_qdiscs) script string simple.qos Queue setup script (see table below) iqdisc_opts string (none) Advanced option string to pass to the ingress queueing disciplines; no error checking, use very carefully. eqdisc_opts string (none) Advanced option string to pass to the egress queueing disciplines; no error checking, use very carefully. qdisc_advanced boolean false [only used by the luci-app-sqm package] qdisc_really_really_advanced boolean false [only used by the luci-app-sqm package] Queue Setup Scripts Name Default Description simple.qos yes BW-limited three-tier prioritisation scheme with fq_codel on each queue. simplest.qos no Simplest possible configuration: HTB rate limiter with your qdisc attached. layer_cake.qos no This uses the cake qdisc as a replacement for htb as shaper and fq_codel as leaf qdisc. This exercises cake's diffserv profile(s) as different “layers” of priority. This script requires that cake is selected as qdisc. See: http://www.bufferbloat.net/projects/codel/wiki/Cake for more information nxt_routed_hfsc.qos no Uses a combination of HFSC and FLOW classifier to prioritize typical interactive protocols. This script is specially designed for clients behind NAT. piece_of_cake.qos no This just uses the cake qdisc as a replacement for htb as shaper and fq_codel as leaf qdisc. It just does not come any simpler than this, in other words it truly is a “piece of cake”. This script requires that cake is selected as qdisc. See: http://www.bufferbloat.net/projects/codel/wiki/Cake for more information Only Available in DD Trunk [ The following refers to the 2017 OpenWrt DD effort that has been superseded by the LEDE-based release. The DD version never was released, so this information needs to be updated/removed. ] The following scripts have been added after the release of CC 15.05.1, and will presumably be in DD: Name Default Description simplest_tbf.qos no Simplest possible configuration (TBF): TBF rate limiter with your qdisc attached. TBF may give better performance than HTB on some architectures. hfsc_lite.qos no This three band HFSC configuration is intended for a common residential router. It uses extremely simplistic protocol/port filtering for bands and prioritises bandwidth over low delay in case of insufficient CPU power. hfsc_litest.qos no This single band HFSC configuration is the bare minimum. Prioritises bandwidth over low delay in case of insufficient CPU power. The lack of filter before the QDISC may help reduce CPU load. This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.OKMore information about cookies Last modified: 2023/06/20 03:02by tatami