From 5ab96126078cb9166356beaff3458404664274ed Mon Sep 17 00:00:00 2001 From: dimitri staessens Date: Tue, 3 Jan 2017 11:57:59 +0100 Subject: 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. --- include/ouroboros/dev.h | 4 ++-- include/ouroboros/ipcp-dev.h | 3 ++- include/ouroboros/qos.h | 4 +++- include/ouroboros/shared.h | 3 ++- 4 files changed, 9 insertions(+), 5 deletions(-) (limited to 'include') 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 -/* 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; -- cgit v1.2.3