From 2cf4f88fc8b957c15ae93a2eb3e56ebdb07a0381 Mon Sep 17 00:00:00 2001 From: Sander Vrijders Date: Tue, 6 Sep 2016 10:29:02 +0200 Subject: ipcpd: normal: Add operations to get and set the PCI This adds the operations needed in the normal IPCP to get and set the Protocol Control Information. It allows to allocate or release space in the current DU. The struct pci can be serialized into newly allocate space. Vice versa, a struct pci can be deserialized given a DU. It allows for decreasing the TTL in the DU and for calculating the CRC32. The TTL and CRC32 can now be selected when creating a new DIF. --- src/ipcpd/normal/frct.h | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'src/ipcpd/normal/frct.h') diff --git a/src/ipcpd/normal/frct.h b/src/ipcpd/normal/frct.h index 91b2dfc7..09873445 100644 --- a/src/ipcpd/normal/frct.h +++ b/src/ipcpd/normal/frct.h @@ -30,26 +30,29 @@ struct frct_i; -int frct_init(struct dt_const * dtc, - uint32_t address); -int frct_fini(); +int frct_init(struct dt_const * dtc, + uint32_t address); +int frct_fini(); + +struct dt_const * frct_dt_const(); + +int frct_dt_flow(int fd, + enum qos_cube qos); -int frct_dt_flow(int fd, - enum qos_cube qos); /* * FIXME: Will take the index in the DU map, * possibly cep-ids and address */ -int frct_rmt_post(); +int frct_rmt_post(); -struct frct_i * frct_i_create(uint32_t address, - buffer_t * buf, - enum qos_cube cube); +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); +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 */ -- cgit v1.2.3