summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri.staessens@ugent.be>2018-06-05 14:42:49 +0200
committerSander Vrijders <sander.vrijders@ugent.be>2018-06-05 15:00:21 +0200
commitf9bd3b31c8152b037bf1dbc3409a017d57d4a2e6 (patch)
treec1a5946c76a9ac6066b8d4d162cb13b29a8bd8d3 /include
parent635ffc5c1c8da07f3f34218280d6a25a29c78bc7 (diff)
downloadouroboros-f9bd3b31c8152b037bf1dbc3409a017d57d4a2e6.tar.gz
ouroboros-f9bd3b31c8152b037bf1dbc3409a017d57d4a2e6.zip
lib: Add a QOS_RAW QoS cube
This adds a QoS cube that allows sending packets directly over a raw flow, without an FRCT state machine. Flow allocation with a NULL qosspec will now default to such raw flows. Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be> Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
Diffstat (limited to 'include')
-rw-r--r--include/ouroboros/qos.h1
-rw-r--r--include/ouroboros/qoscube.h3
2 files changed, 3 insertions, 1 deletions
diff --git a/include/ouroboros/qos.h b/include/ouroboros/qos.h
index f046f8f8..0a9bc060 100644
--- a/include/ouroboros/qos.h
+++ b/include/ouroboros/qos.h
@@ -30,6 +30,7 @@ typedef struct qos_spec {
uint32_t delay; /* In ms */
uint64_t bandwidth; /* In bits/s */
uint8_t availability; /* Class of 9s */
+ uint8_t in_order; /* In-order delivery, enables FRCT */
uint32_t maximum_interruption; /* In ms */
} qosspec_t;
diff --git a/include/ouroboros/qoscube.h b/include/ouroboros/qoscube.h
index bce9b361..99563a06 100644
--- a/include/ouroboros/qoscube.h
+++ b/include/ouroboros/qoscube.h
@@ -26,7 +26,8 @@
#include <ouroboros/qos.h>
typedef enum qos_cube {
- QOS_CUBE_BE = 0,
+ QOS_CUBE_RAW = 0,
+ QOS_CUBE_BE,
QOS_CUBE_VIDEO,
QOS_CUBE_VOICE,
QOS_CUBE_MAX