diff options
author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2021-07-20 18:42:37 +0200 |
---|---|---|
committer | Sander Vrijders <sander@ouroboros.rocks> | 2021-07-21 11:46:24 +0200 |
commit | b066b8aa71be68586e7dd88fcb530733536aa30b (patch) | |
tree | 648b2ffb85cd4fdf5f1436c15234120713bee56b /src/ipcpd/unicast/main.c | |
parent | 19a5cd2b494f5cea83f1c6332eab93ec19a9b649 (diff) | |
download | ouroboros-b066b8aa71be68586e7dd88fcb530733536aa30b.tar.gz ouroboros-b066b8aa71be68586e7dd88fcb530733536aa30b.zip |
ipcpd: Fix additive increase in CA-MB-ECN
The logic for additive increase was botched. It was adding to the
current window limit, and to avoid a count-to-infinity when sending
below the limit, I added a check that the application was trying to
send more than the current limit. This fails in congestion avoidance
mode when the IPCP is throttling traffic below the limit; causing the
app to never increase the congestion window (and even worse, to keep
decreasing in some cases).
The Additive Increase will now always add bandwidth to the latest
sending rate instead of the window bandwidth limit, avoiding all the
problems.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/ipcpd/unicast/main.c')
0 files changed, 0 insertions, 0 deletions