summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSander Vrijders <[email protected]>2016-07-14 16:52:54 +0200
committerSander Vrijders <[email protected]>2016-07-14 16:52:54 +0200
commit8d1951e463193c1aa213c4680f645ec7b9247e15 (patch)
tree9f75f0987f7acfd5c26fc90ecbb3cf81b585ec47 /include
parentd96bac100c5fe181383e947c1e62241cbabce6ac (diff)
downloadouroboros-8d1951e463193c1aa213c4680f645ec7b9247e15.tar.gz
ouroboros-8d1951e463193c1aa213c4680f645ec7b9247e15.zip
ipcpd: normal: Establish N-1 management flows
This adds the intial implementation of establishing management N-1 flows between normal IPCPs. On calling fmgr_mgmt_flow, a management flow will be setup to a certain destination IPCP. After flow allocation, the fd is handed to the RIB manager. The flow manager also listens for incoming flow requests. In case they are management flows, they are handed to the RIB manager, otherwise to the FRCT.
Diffstat (limited to 'include')
-rw-r--r--include/ouroboros/dev.h10
-rw-r--r--include/ouroboros/qos.h5
2 files changed, 8 insertions, 7 deletions
diff --git a/include/ouroboros/dev.h b/include/ouroboros/dev.h
index 699973a3..eb779953 100644
--- a/include/ouroboros/dev.h
+++ b/include/ouroboros/dev.h
@@ -35,17 +35,19 @@
int ap_init(char * ap_name);
void ap_fini(void);
-/* Returns file descriptor (> 0) and client AE name */
+/* Returns file descriptor (> 0) and client AE name. */
int flow_accept(char ** ae_name);
int flow_alloc_resp(int fd, int result);
-/* Returns file descriptor */
+/*
+ * Returns file descriptor (> 0).
+ * On returning, qos will contain the actual supplied QoS.
+ */
int flow_alloc(char * dst_name,
char * src_ae_name,
struct qos_spec * qos);
-
-/* If flow is accepted returns a value > 0 */
int flow_alloc_res(int fd);
+
int flow_dealloc(int fd);
int flow_cntl(int fd, int cmd, int oflags);
diff --git a/include/ouroboros/qos.h b/include/ouroboros/qos.h
index c87b7c69..8f573b7d 100644
--- a/include/ouroboros/qos.h
+++ b/include/ouroboros/qos.h
@@ -23,11 +23,10 @@
#ifndef OUROBOROS_QOS_H
#define OUROBOROS_QOS_H
+#include <stdint.h>
+
/* FIXME: may need revision */
struct qos_spec {
- char * qos_name;
- char * dif_name;
-
uint32_t delay;
uint32_t jitter;
};