From: Johannes Truschnigg Date: Mon, 21 Mar 2022 17:36:15 +0000 (+0100) Subject: Also track README.md X-Git-Url: https://johannes.truschnigg.info/gitweb/?a=commitdiff_plain;h=156a5443b6158d56fdcdd39d7c8cb5e274b17af0;p=sqm_lagthrottle Also track README.md --- diff --git a/README.md b/README.md new file mode 100644 index 0000000..aa252b7 --- /dev/null +++ b/README.md @@ -0,0 +1,72 @@ +sqm_lagthrottle - a CAKE SQM Bandwidth Manager +============================================== + +This project aims to provide an effective control loop for efficiently adapting +bandwidth caps for the CAKE Smart Queue Management system to work with. Its +primary deployment target is OpenWrt routers. + +This is **ALPHA QUALITY SOFTWARE**, and will still undergo a lot of changes. +If you find it interesting, please check back every once in a while and see if +there were any updates published. + + +License, Disclaimer, Compatibility +---------------------------------- + + sqm_lagthrottle.sh - a CAKE SQM Bandwidth Manager + Copyright (C) 2022 Johannes Truschnigg + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +The software is developed, tested and used primarily on OpenWrt 21.02 and +later. + + +Requirements +------------ + +`sqm_lagthrottle` was designed to require minimal additional depencies on top +of what regular OpenWrt installations/images will provide. It checks for all +required external programs during startup, and the only additional OpenWrt +package you should be required to installed is **fping**. + + +Getting Started +--------------- + +Using `sqm_lagthrottle` requires some preparation and configuration. First, you +will need to place both `sqm_lagthrottle.sh` and `__sqm_lagthrottle.awk` in the +same directory. You are highly encouraged to also fetch and place +`sqm_lagthrottle_suggest_config.sh` next to it, as this helper program will +assist you during the configuration phase. + +Now, try to keep the traffic on your Internet uplink to a minimum over the next +few minutes, and invoke `sqm_lagthrottle_suggest_config.sh`. After it finishes +running, it will present you with a configuration file that you should rename +to `sqm_lagthrottle.conf`, where it will override any values that are set by +default in `sqm_lagthrottle.sh`. + +Next, open `sqm_lagthrottle.sh` in the text editor of your choice, and set the +remaining configuration values (or, at your option, copy them over into +`sqm_lagthrottle.conf`, and adapt them to your needs there. What you will need +to get right at a minimum are the setting for interfaces to control bandwith +for, and the interface statistics files to read bandwidth usage data from. All +configuration values are documented inline. + +Once this is work is done, you can start `sqm_lagthrottle.sh` to observe its +output and effect. + +Please provide feedback and comments to me on irc (in #openwrt on OFTC) or at +the official OpenWrt forums at https://forum.openwrt.org/ - my registered +nickname reads `colo` in both places.