summaryrefslogtreecommitdiff
path: root/src/ipcpd/unicast/pol/ca-mb-ecn.c
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2020-12-10 18:11:20 +0100
committerSander Vrijders <sander@ouroboros.rocks>2020-12-12 11:38:00 +0100
commit132d2145a6e89ac0f4454ba7f257a910da2ef674 (patch)
treeeb77f04a381ea5f8a869aff3b798c32acfb7e91e /src/ipcpd/unicast/pol/ca-mb-ecn.c
parent54f632767df709f6afb87ba37c7ee0b71a2bdbce (diff)
downloadouroboros-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.c9
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,