From af1dff6fc06f55d6565589282ac4ebacc53b4d29 Mon Sep 17 00:00:00 2001 From: Sander Vrijders Date: Sat, 14 May 2016 18:32:49 +0200 Subject: 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. --- src/lib/CMakeLists.txt | 3 --- src/lib/ipcp.c | 32 +++++++++++++++++--------------- src/lib/ipcpd_messages.proto | 11 ++++++----- 3 files changed, 23 insertions(+), 23 deletions(-) (limited to 'src/lib') 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; }; -- cgit v1.2.3