summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authordimitri staessens <[email protected]>2017-01-03 11:57:59 +0100
committerdimitri staessens <[email protected]>2017-01-03 12:12:49 +0100
commit5ab96126078cb9166356beaff3458404664274ed (patch)
tree4734c9872a5b9b4b4cb12e9fab82bdb255a6591a /include
parent4ccd3e2c8af00963ac6d88aac587de016300ed90 (diff)
downloadouroboros-5ab96126078cb9166356beaff3458404664274ed.tar.gz
ouroboros-5ab96126078cb9166356beaff3458404664274ed.zip
lib, ipcpd, irmd: Proof of concept QoS
Now correctly relays the qoscube end-to-end in the stack. A simple function specifying the cube in the spec is used for initial testing. The translation is now done in dev.c, but it could be moved elsewhere when qos cabability matures and the need arises.
Diffstat (limited to 'include')
-rw-r--r--include/ouroboros/dev.h4
-rw-r--r--include/ouroboros/ipcp-dev.h3
-rw-r--r--include/ouroboros/qos.h4
-rw-r--r--include/ouroboros/shared.h3
4 files changed, 9 insertions, 5 deletions
diff --git a/include/ouroboros/dev.h b/include/ouroboros/dev.h
index 048d890e..9bb55529 100644
--- a/include/ouroboros/dev.h
+++ b/include/ouroboros/dev.h
@@ -36,7 +36,7 @@ void ap_fini(void);
/* Returns flow descriptor (> 0), client AE name and qos spec. */
int flow_accept(char ** ae_name,
- qosspec_t * qos);
+ qosspec_t * spec);
int flow_alloc_resp(int fd,
int response);
@@ -47,7 +47,7 @@ int flow_alloc_resp(int fd,
*/
int flow_alloc(char * dst_name,
char * src_ae_name,
- qosspec_t * qos);
+ qosspec_t * spec);
int flow_alloc_res(int fd);
diff --git a/include/ouroboros/ipcp-dev.h b/include/ouroboros/ipcp-dev.h
index 61c1582b..fe6a99bd 100644
--- a/include/ouroboros/ipcp-dev.h
+++ b/include/ouroboros/ipcp-dev.h
@@ -30,7 +30,8 @@ int ipcp_create_r(pid_t api);
int ipcp_flow_req_arr(pid_t api,
char * dst_name,
- char * src_ae_name);
+ char * src_ae_name,
+ qoscube_t cube);
int ipcp_flow_alloc_reply(int fd,
int response);
diff --git a/include/ouroboros/qos.h b/include/ouroboros/qos.h
index c301e61b..74e898da 100644
--- a/include/ouroboros/qos.h
+++ b/include/ouroboros/qos.h
@@ -25,10 +25,12 @@
#include <stdint.h>
-/* FIXME: may need revision */
typedef struct qos_spec {
uint32_t delay;
uint32_t jitter;
+
+ /* FIXME: define qosspecs */
+ int cube;
} qosspec_t;
#endif
diff --git a/include/ouroboros/shared.h b/include/ouroboros/shared.h
index 86dc3ede..2592134a 100644
--- a/include/ouroboros/shared.h
+++ b/include/ouroboros/shared.h
@@ -24,7 +24,8 @@
/* FIXME: To be decided which QoS cubes we support */
typedef enum qos_cube {
- QOS_CUBE_BE = 0,
+ QOS_CUBE_FRC = 0,
+ QOS_CUBE_BE,
QOS_CUBE_VIDEO,
QOS_CUBE_MAX
} qoscube_t;