summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal/frct.h
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@intec.ugent.be>2016-10-08 19:42:51 +0200
committerSander Vrijders <sander.vrijders@intec.ugent.be>2016-10-11 16:15:33 +0200
commit69ef99bb2dc05337e8189acc42dc9122f4182ead (patch)
tree2808e55f80991cb9b59266c15726c982f3a4ca50 /src/ipcpd/normal/frct.h
parentdbf3ab8dfb2cbe8167c464e3cf6a9aa757bfff6a (diff)
downloadouroboros-69ef99bb2dc05337e8189acc42dc9122f4182ead.tar.gz
ouroboros-69ef99bb2dc05337e8189acc42dc9122f4182ead.zip
ipcpd: normal: First version of the fast path bootstrap
This is the first version of the fast path bootstrap in the normal IPCP. It sets up a connection with the other end, and creates the appropriate data structures. N+1 and N-1 SDUs are read and written and passed through the right components.
Diffstat (limited to 'src/ipcpd/normal/frct.h')
-rw-r--r--src/ipcpd/normal/frct.h41
1 files changed, 18 insertions, 23 deletions
diff --git a/src/ipcpd/normal/frct.h b/src/ipcpd/normal/frct.h
index 0ee87004..2b86f5bd 100644
--- a/src/ipcpd/normal/frct.h
+++ b/src/ipcpd/normal/frct.h
@@ -26,34 +26,29 @@
#include <ouroboros/shared.h>
#include <ouroboros/utils.h>
-#include "dt_const.h"
+#include "shm_pci.h"
struct frct_i;
-int frct_init(struct dt_const * dtc,
- uint32_t address);
-int frct_fini();
+int frct_init(uint32_t address);
+int frct_fini();
-struct dt_const * frct_dt_const();
+/* Called by RMT upon receipt of a PDU for us */
+int frct_rmt_post_sdu(struct pci * pci,
+ struct shm_du_buff * sdb);
-int frct_dt_flow(int fd,
- enum qos_cube qos);
+cep_id_t frct_i_create(uint32_t address,
+ buffer_t * buf,
+ enum qos_cube cube);
-/*
- * FIXME: Will take the index in the DU map,
- * possibly cep-ids and address
- */
-int frct_rmt_post();
-
-struct frct_i * frct_i_create(uint32_t address,
- buffer_t * buf,
- enum qos_cube cube);
-/* FIXME: Hand QoS cube here too? We received it in the flow alloc message. */
-int frct_i_accept(struct frct_i * instance,
- buffer_t * buf);
-int frct_i_destroy(struct frct_i * instance,
- buffer_t * buf);
-
-/* FIXME: Add read/write ops for frct instances */
+int frct_i_accept(cep_id_t id,
+ buffer_t * buf,
+ enum qos_cube cube);
+
+int frct_i_destroy(cep_id_t id,
+ buffer_t * buf);
+
+int frct_i_write_sdu(cep_id_t id,
+ struct shm_du_buff * sdb);
#endif