summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorSander Vrijders <[email protected]>2016-05-14 18:32:49 +0200
committerSander Vrijders <[email protected]>2016-05-14 18:32:49 +0200
commitaf1dff6fc06f55d6565589282ac4ebacc53b4d29 (patch)
treedaa33b67da40cd2b7677126fa15fb996cbba25f2 /src/lib
parentaff55f153ddb247357f59b3740477e90eba527bd (diff)
downloadouroboros-af1dff6fc06f55d6565589282ac4ebacc53b4d29.tar.gz
ouroboros-af1dff6fc06f55d6565589282ac4ebacc53b4d29.zip
lib, ipcpd, irmd: Add QoS cube definition
This adds the QoS cube definition, which is an enum to select which QoS is needed in the IPCP. An application has to use the qos_spec in qos.h to define what it needs. The IRMd will map this unto a qos cube definition. Some headers are now also no longer installed on the system, since they are only to be used within the irmd and ipcps.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/CMakeLists.txt3
-rw-r--r--src/lib/ipcp.c32
-rw-r--r--src/lib/ipcpd_messages.proto11
3 files changed, 23 insertions, 23 deletions
diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
index 53a7b354..5166f569 100644
--- a/src/lib/CMakeLists.txt
+++ b/src/lib/CMakeLists.txt
@@ -38,9 +38,6 @@ set(SOURCE_FILES
utils.c
)
-install(FILES ${IRM_PROTO_HDRS} ${IPCP_PROTO_HDRS} ${DIF_CONFIG_PROTO_HDRS}
- DESTINATION include/ouroboros)
-
add_library(ouroboros SHARED ${SOURCE_FILES}
${IRM_PROTO_SRCS} ${IPCP_PROTO_SRCS} ${DIF_CONFIG_PROTO_SRCS})
diff --git a/src/lib/ipcp.c b/src/lib/ipcp.c
index 1f1e5c99..8a4f9629 100644
--- a/src/lib/ipcp.c
+++ b/src/lib/ipcp.c
@@ -361,13 +361,13 @@ int ipcp_name_unreg(pid_t pid,
return ret;
}
-int ipcp_flow_alloc(pid_t pid,
- int port_id,
- pid_t n_pid,
- char * dst_name,
- char * src_ap_name,
- char * src_ae_name,
- struct qos_spec * qos)
+int ipcp_flow_alloc(pid_t pid,
+ int port_id,
+ pid_t n_pid,
+ char * dst_name,
+ char * src_ap_name,
+ char * src_ae_name,
+ enum qos_cube qos)
{
ipcp_msg_t msg = IPCP_MSG__INIT;
ipcp_msg_t * recv_msg = NULL;
@@ -376,14 +376,16 @@ int ipcp_flow_alloc(pid_t pid,
if (dst_name == NULL || src_ap_name == NULL || src_ae_name == NULL)
return -EINVAL;
- msg.code = IPCP_MSG_CODE__IPCP_FLOW_ALLOC;
- msg.has_port_id = true;
- msg.port_id = port_id;
- msg.has_pid = true;
- msg.pid = n_pid;
- msg.src_ap_name = src_ap_name;
- msg.src_ae_name = src_ae_name;
- msg.dst_name = dst_name;
+ msg.code = IPCP_MSG_CODE__IPCP_FLOW_ALLOC;
+ msg.has_port_id = true;
+ msg.port_id = port_id;
+ msg.has_pid = true;
+ msg.pid = n_pid;
+ msg.src_ap_name = src_ap_name;
+ msg.src_ae_name = src_ae_name;
+ msg.dst_name = dst_name;
+ msg.has_qos_cube = true;
+ msg.qos_cube = qos;
recv_msg = send_recv_ipcp_msg(pid, &msg);
if (recv_msg == NULL)
diff --git a/src/lib/ipcpd_messages.proto b/src/lib/ipcpd_messages.proto
index 901adaa0..63e41986 100644
--- a/src/lib/ipcpd_messages.proto
+++ b/src/lib/ipcpd_messages.proto
@@ -24,9 +24,10 @@ message ipcp_msg {
optional string dst_name = 8;
optional string src_ap_name = 9;
optional string src_ae_name = 10;
- optional dif_config_msg conf = 11;
- optional sint32 fd = 12;
- optional sint32 pid = 13;
- optional sint32 response = 14;
- optional sint32 result = 15;
+ optional sint32 qos_cube = 11;
+ optional dif_config_msg conf = 12;
+ optional sint32 fd = 13;
+ optional sint32 pid = 14;
+ optional sint32 response = 15;
+ optional sint32 result = 16;
};