diff options
author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2020-12-10 18:11:20 +0100 |
---|---|---|
committer | Sander Vrijders <sander@ouroboros.rocks> | 2020-12-12 11:38:00 +0100 |
commit | 132d2145a6e89ac0f4454ba7f257a910da2ef674 (patch) | |
tree | eb77f04a381ea5f8a869aff3b798c32acfb7e91e /src/ipcpd/unicast/pol/ca-mb-ecn.c | |
parent | 54f632767df709f6afb87ba37c7ee0b71a2bdbce (diff) | |
download | ouroboros-132d2145a6e89ac0f4454ba7f257a910da2ef674.tar.gz ouroboros-132d2145a6e89ac0f4454ba7f257a910da2ef674.zip |
ipcpd: Pass previous ECN value in congestion API
The previous value of the ECN field should be passed to the congestion
notification function.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/ipcpd/unicast/pol/ca-mb-ecn.c')
-rw-r--r-- | src/ipcpd/unicast/pol/ca-mb-ecn.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/ipcpd/unicast/pol/ca-mb-ecn.c b/src/ipcpd/unicast/pol/ca-mb-ecn.c index 1baaca7a..1791e42a 100644 --- a/src/ipcpd/unicast/pol/ca-mb-ecn.c +++ b/src/ipcpd/unicast/pol/ca-mb-ecn.c @@ -222,8 +222,9 @@ void mb_ecn_ctx_update_ece(void * _ctx, ctx->tx_cav = true; } -uint8_t mb_ecn_calc_ecn(int fd, - size_t len) +int mb_ecn_calc_ecn(int fd, + uint8_t * ecn, + size_t len) { size_t q; @@ -231,7 +232,9 @@ uint8_t mb_ecn_calc_ecn(int fd, q = ipcp_flow_queued(fd); - return (uint8_t) (q >> ECN_Q_SHFT); + *ecn |= (uint8_t) (q >> ECN_Q_SHFT); + + return 0; } ssize_t mb_ecn_print_stats(void * _ctx, |