From 619502f7178fef30e726ba57b5a49b61c1c1a276 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Fri, 19 Oct 2018 11:38:54 +0200 Subject: tools: Specify QoS cube for data transfer flows The ipcp connect command can now set a specific qos cube for data transfer flows. For management flows, the tool ignores this and defaults to raw until data flows are stable enough. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/lib/irm.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'src/lib/irm.c') diff --git a/src/lib/irm.c b/src/lib/irm.c index 384da7b0..bf10ae3f 100644 --- a/src/lib/irm.c +++ b/src/lib/irm.c @@ -173,17 +173,22 @@ int irm_bootstrap_ipcp(pid_t pid, int irm_connect_ipcp(pid_t pid, const char * dst, - const char * component) + const char * component, + qosspec_t qs) { - irm_msg_t msg = IRM_MSG__INIT; - irm_msg_t * recv_msg = NULL; - int ret; + irm_msg_t msg = IRM_MSG__INIT; + qosspec_msg_t qs_msg = QOSSPEC_MSG__INIT; + irm_msg_t * recv_msg; + int ret; + msg.code = IRM_MSG_CODE__IRM_CONNECT_IPCP; msg.dst = (char *) dst; msg.comp = (char *) component; msg.has_pid = true; msg.pid = pid; + qs_msg = spec_to_msg(&qs); + msg.qosspec = &qs_msg; recv_msg = send_recv_irm_msg(&msg); if (recv_msg == NULL) @@ -204,8 +209,8 @@ int irm_disconnect_ipcp(pid_t pid, const char * dst, const char * component) { - irm_msg_t msg = IRM_MSG__INIT; - irm_msg_t * recv_msg = NULL; + irm_msg_t msg = IRM_MSG__INIT; + irm_msg_t * recv_msg; int ret; msg.code = IRM_MSG_CODE__IRM_DISCONNECT_IPCP; @@ -231,10 +236,10 @@ int irm_disconnect_ipcp(pid_t pid, ssize_t irm_list_ipcps(struct ipcp_info ** ipcps) { - irm_msg_t msg = IRM_MSG__INIT; + irm_msg_t msg = IRM_MSG__INIT; irm_msg_t * recv_msg; - size_t nr; - size_t i; + size_t nr; + size_t i; if (ipcps == NULL) return -EINVAL; -- cgit v1.2.3