diff options
author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2022-03-27 11:09:43 +0200 |
---|---|---|
committer | Sander Vrijders <sander@ouroboros.rocks> | 2022-03-30 15:05:05 +0200 |
commit | 02b3893b1ec392f1b3ca030a03267c31eb1dc290 (patch) | |
tree | f7cebdb5ef2c4994bc1e675e838bc8922cbae950 /src/ipcpd/unicast/dt.c | |
parent | 56654f2cd1813d87d32695f126939bbfaad52385 (diff) | |
download | ouroboros-02b3893b1ec392f1b3ca030a03267c31eb1dc290.tar.gz ouroboros-02b3893b1ec392f1b3ca030a03267c31eb1dc290.zip |
lib: Add np1_flow_read and np1_flow_write calls
Reading/writing to (N + 1)-flows from the IPCP was using a raw QoS flow
to bypass some functions in the ipcp_flow_read call. But this call was
broken for keepalive packets. Fixing the ipcp_flow_read call for
(N - 1) flows causes the IPCPs to drop 0-byte keepalive packets coming from
(N + 1) client flows.
>From now on, there is a dedicated call for (N + 1) reads/writes from
the IPCPs that's more efficient and cleaner. The (N + 1) flow internal
QoS is now also defaulted to a qos_np1 qosspec, instead of tampering
with the qosspec requested by the (N + 1) client.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/ipcpd/unicast/dt.c')
-rw-r--r-- | src/ipcpd/unicast/dt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ipcpd/unicast/dt.c b/src/ipcpd/unicast/dt.c index 9c16e5d0..9cc53edc 100644 --- a/src/ipcpd/unicast/dt.c +++ b/src/ipcpd/unicast/dt.c @@ -713,7 +713,7 @@ void dt_fini(void) int dt_start(void) { - dt.psched = psched_create(packet_handler); + dt.psched = psched_create(packet_handler, ipcp_flow_read); if (dt.psched == NULL) { log_err("Failed to create N-1 packet scheduler."); return -1; |