Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reformat markdown documents and include mdformat script #237

Merged
merged 1 commit into from
Jul 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 30 additions & 28 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,42 +7,44 @@ more about cake-autorate. This is the history of changes.

<!-- Zep7RkGZ52|NEW ENTRY MARKER, DO NOT REMOVE -->


## 2023-07-08 - Version 3.0.0

- Version 3.0.0 of cake-autorate is the culmination of dozens of experiments,
iterative improvements, and testing that are described in the 2.0.0 section below.
To indicate that the current code contains significant enhancements (and avoid confusion), we decided to release this code with a new version number.
- Version 3.0.0 of cake-autorate is the culmination of dozens of
experiments, iterative improvements, and testing that are described
in the 2.0.0 section below. To indicate that the current code
contains significant enhancements (and avoid confusion), we decided
to release this code with a new version number.

## 2023-07-05 - Version 2.0.0

- This version restructures the bash code for
improved robustness, stability and performance.
- Employ FIFOs for passing not only data, but also instructions, between
the major processes, obviating costly reliance on temporary files. A
side effect of this is that now /var/run/cake-autorate is mostly
empty during runs.
- This version restructures the bash code for improved robustness,
stability and performance.
- Employ FIFOs for passing not only data, but also instructions,
between the major processes, obviating costly reliance on temporary
files. A side effect of this is that now /var/run/cake-autorate is
mostly empty during runs.
- Significantly reduced CPU consumption - cake-autorate can now run
successfully on older routers.
- Introduce support for one way delays (OWDs) using the 'tsping'
binary developed by @Lochnair. This works with ICMP type 13
(timestamp) requests to ascertain the delay in each direction (i.e. OWDs).
- Many changes to help catch and handle or expose unusual error conditions.
(timestamp) requests to ascertain the delay in each direction (i.e.
OWDs).
- Many changes to help catch and handle or expose unusual error
conditions.
- Fixed eternal sleep issue.
- Introduce more user-friendly config format by introducing
defaults.sh and config.X.sh with the basics (interface names,
whether to adjust the shaper rates and the min, base and max
shaper rates) and any overrides from the defaults defined in
defaults.sh.
whether to adjust the shaper rates and the min, base and max shaper
rates) and any overrides from the defaults defined in defaults.sh.
- More intelligent check for another running instance.
- Introduce more user-friendly log file exports by automatically
generating an export script and a log reset script for each running
cake-autorate instance inside /var/run/cake-autorate/\*/.
- Added config file validation that checks all config
file entries against those provided in defaults.sh. Firstly, the validation
- Added config file validation that checks all config file entries
against those provided in defaults.sh. Firstly, the validation
checks that the config file key finds a corresponding key in
defaults.sh. And secondly, it checks that the value is of the
same type out of array, integer, float, string, etc. Any identified
defaults.sh. And secondly, it checks that the value is of the same
type out of array, integer, float, string, etc. Any identified
problematic keys or values are reported to the user to assist with
resolving any bad entries.
- Improved installer and new uninstaller.
Expand All @@ -53,13 +55,13 @@ more about cake-autorate. This is the history of changes.

- cake-autorate now includes a sophisticated offline log file analysis
utility written in Matlab/Octave: 'fn_parse_autorate_log.m' and
maintained by @moeller0. This utility takes in a
cake-autorate generated log file (in compressed or uncompressed
format), which can be generated on the fly by sending an appropriate
signal, and presents beautiful plots that depict latency and
bandwidth over time together with many important cake-autorate
vitals. This gratly simplifies assessing the efficacy of
cake-autorate and associated settings on a given connection.
maintained by @moeller0. This utility takes in a cake-autorate
generated log file (in compressed or uncompressed format), which can
be generated on the fly by sending an appropriate signal, and
presents beautiful plots that depict latency and bandwidth over time
together with many important cake-autorate vitals. This gratly
simplifies assessing the efficacy of cake-autorate and associated
settings on a given connection.
- Multiple instances of cake-autorate is now supported. cake-autorate
can now be run on multiple interfaces such as in the case of mwan3
failover. The interface is assigned by designating an appropaite
Expand Down Expand Up @@ -244,8 +246,8 @@ Implemented several new features such as:
- nping found to support ICMP type 13 but slow and unreliable
- settled on hping3 as identified by @Locknair (OpenWrt forum) as ery
efficient and timing information proves reliable
- @Failsafe demonstrated awk mastery by writing awk
parser to handle output of hping3
- @Failsafe demonstrated awk mastery by writing awk parser to handle
output of hping3

## 2021-12-6

Expand Down
22 changes: 11 additions & 11 deletions INSTALLATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,17 +81,17 @@ required tools. To use it:

- The following variables control logging:

| Variable | Setting |
| ------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `output_processing_stats` | If non-zero, log the results of every iteration through the process |
| `output_load_stats` | If non-zero, log the log the measured achieved rates of upload and download |
| `output_reflector_stats` | If non-zero, log the statistics generated in respect of reflector health monitoring |
| `output_cake_changes` | If non-zero, log when changes are made to CAKE settings via `tc` - this shows when cake-autorate is adjusting the shaper |
| `debug` | If non-zero, debug lines will be output |
| `log_DEBUG_messages_to_syslog` | If non-zero, log lines will also get sent to the system log |
| `log_to_file` | If non-zero, log lines will be sent to /tmp/cake-autorate.log regardless of whether printing to console and after every write the log file will be rotated f either `log_file_max_time_mins` have elapsed or `log_file_max_size_KB` has been exceeded|
| `log_file_max_time_mins` | Number of minutes to elapse between log file rotaton |
| `log_file_max_size_KB` | Number of KB (i.e. bytes/1024) worth of log lines between log file rotations |
| Variable | Setting |
| -----------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `output_processing_stats` | If non-zero, log the results of every iteration through the process |
| `output_load_stats` | If non-zero, log the log the measured achieved rates of upload and download |
| `output_reflector_stats` | If non-zero, log the statistics generated in respect of reflector health monitoring |
| `output_cake_changes` | If non-zero, log when changes are made to CAKE settings via `tc` - this shows when cake-autorate is adjusting the shaper |
| `debug` | If non-zero, debug lines will be output |
| `log_DEBUG_messages_to_syslog` | If non-zero, log lines will also get sent to the system log |
| `log_to_file` | If non-zero, log lines will be sent to /tmp/cake-autorate.log regardless of whether printing to console and after every write the log file will be rotated f either `log_file_max_time_mins` have elapsed or `log_file_max_size_KB` has been exceeded |
| `log_file_max_time_mins` | Number of minutes to elapse between log file rotaton |
| `log_file_max_size_KB` | Number of KB (i.e. bytes/1024) worth of log lines between log file rotations |

## Manual testing

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ by a device such as an [OpenWrt router](https://openwrt.org) so that
no more data is queued than is necessary, minimizing the latency
("bufferbloat") and improving the responsiveness of a network.

Present version is <span id="version">3.0.1</span> - please see [the changelog](CHANGELOG.md)
for details.
Present version is <span id="version">3.0.1</span> - please see
[the changelog](CHANGELOG.md) for details.

## The Problem: CAKE on variable speed connections forces an unpalatable compromise

Expand Down
1 change: 1 addition & 0 deletions maint/mdformat.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
exec mdformat --wrap=70 .