[PATCH] ipcpd: Add priority for raw flows

  • From: Dimitri Staessens <dimitri.staessens@xxxxxxxx>
  • To: ouroboros@xxxxxxxxxxxxx
  • Date: Thu, 7 Jun 2018 15:47:24 +0200

The raw flows had no priority assigned, causing the scheduler to fail
on creation.

Signed-off-by: Dimitri Staessens <dimitri.staessens@xxxxxxxx>
---
 src/ipcpd/CMakeLists.txt     | 6 ++++++
 src/ipcpd/config.h.in        | 1 +
 src/ipcpd/normal/sdu_sched.c | 1 +
 3 files changed, 8 insertions(+)

diff --git a/src/ipcpd/CMakeLists.txt b/src/ipcpd/CMakeLists.txt
index 39e597e..3c27e3f 100644
--- a/src/ipcpd/CMakeLists.txt
+++ b/src/ipcpd/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(IPCP_ACCEPT_TIMEOUT 100 CACHE STRING
   "Timeout for accept in IPCP mainloop threads (ms)")
+set(IPCP_QOS_CUBE_RAW_PRIO 50 CACHE STRING
+  "Priority for raw flow processing (0-99)")
 set(IPCP_QOS_CUBE_BE_PRIO 0 CACHE STRING
   "Priority for best effort QoS cube (0-99)")
 set(IPCP_QOS_CUBE_VIDEO_PRIO 90 CACHE STRING
@@ -17,6 +19,10 @@ set(DISABLE_CORE_LOCK FALSE CACHE BOOL
 set(IPCP_CONN_WAIT_DIR TRUE CACHE BOOL
   "Check the running state of the directory when adding a dt connection")
 
+if ((IPCP_QOS_CUBE_RAW_PRIO LESS 0) OR (IPCP_QOS_CUBE_BE_PRIO GREATER 99))
+  message(FATAL_ERROR "Invalid priority for raw flow")
+endif ()
+
 if ((IPCP_QOS_CUBE_BE_PRIO LESS 0) OR (IPCP_QOS_CUBE_BE_PRIO GREATER 99))
   message(FATAL_ERROR "Invalid priority for best effort QoS cube")
 endif ()
diff --git a/src/ipcpd/config.h.in b/src/ipcpd/config.h.in
index 197f51b..b7806f6 100644
--- a/src/ipcpd/config.h.in
+++ b/src/ipcpd/config.h.in
@@ -38,6 +38,7 @@
 #cmakedefine HAVE_LIBGCRYPT
 
 /* normal IPCP */
+#define QOS_PRIO_RAW        @IPCP_QOS_CUBE_RAW_PRIO@
 #define QOS_PRIO_BE         @IPCP_QOS_CUBE_BE_PRIO@
 #define QOS_PRIO_VIDEO      @IPCP_QOS_CUBE_VIDEO_PRIO@
 #define QOS_PRIO_VOICE      @IPCP_QOS_CUBE_VOICE_PRIO@
diff --git a/src/ipcpd/normal/sdu_sched.c b/src/ipcpd/normal/sdu_sched.c
index 5645572..529da11 100644
--- a/src/ipcpd/normal/sdu_sched.c
+++ b/src/ipcpd/normal/sdu_sched.c
@@ -36,6 +36,7 @@
 #include <string.h>
 
 static int qos_prio [] = {
+        QOS_PRIO_RAW,
         QOS_PRIO_BE,
         QOS_PRIO_VIDEO,
         QOS_PRIO_VOICE
-- 
2.17.1


Other related posts: