summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal/ribmgr.h
diff options
context:
space:
mode:
authordimitri staessens <[email protected]>2017-02-06 16:05:44 +0100
committerdimitri staessens <[email protected]>2017-02-06 20:04:34 +0100
commit373efaf24d3600fe4dadf6bfaaee8d19e2ec32d7 (patch)
tree8711a4edbc2a6defaab63f0dcc2b0690252307b4 /src/ipcpd/normal/ribmgr.h
parent4b11f952c521315883f64571e1790389e8d20f64 (diff)
downloadouroboros-373efaf24d3600fe4dadf6bfaaee8d19e2ec32d7.tar.gz
ouroboros-373efaf24d3600fe4dadf6bfaaee8d19e2ec32d7.zip
ipcpd, lib: Revise normal IPCP
This PR updates the normal IPCP to use the new RIB. The old ribmgr is removed and replaced by a stub that needs to be implemented. All components (dir, fmgr, frct) were adapted to the new RIB API. A lot of functionality was moved outside of the ribmgr, such as the addr_auth, which is now a component of the IPCP. The address is also stored to the ipcpi struct. The irm tool has an option to set the gam policy of the rib manager.
Diffstat (limited to 'src/ipcpd/normal/ribmgr.h')
-rw-r--r--src/ipcpd/normal/ribmgr.h34
1 files changed, 18 insertions, 16 deletions
diff --git a/src/ipcpd/normal/ribmgr.h b/src/ipcpd/normal/ribmgr.h
index 22212de9..12f407ab 100644
--- a/src/ipcpd/normal/ribmgr.h
+++ b/src/ipcpd/normal/ribmgr.h
@@ -24,27 +24,29 @@
#include <ouroboros/irm_config.h>
#include <ouroboros/utils.h>
+#include <ouroboros/qos.h>
-#include "dt_const.h"
+enum diss_target {
+ NONE = 0,
+ NEIGHBORS,
+ ALL_MEMBERS
+};
-int ribmgr_init(void);
+enum diss_freq {
+ SINGLE = 0,
+ PERIODIC
+};
-int ribmgr_fini(void);
+int ribmgr_init(void);
-int ribmgr_add_nm1_flow(int fd);
+void ribmgr_fini(void);
-int ribmgr_nm1_mgt_flow(char * dst_name);
+int ribmgr_flow_arr(int fd,
+ qosspec_t qs);
-int ribmgr_bootstrap(struct dif_config * conf);
-
-int ribmgr_enrol(void);
-
-int ribmgr_start_policies(void);
-
-struct dt_const * ribmgr_dt_const(void);
-
-uint64_t ribmgr_address(void);
-
-enum pol_gam ribmgr_dt_gam(void);
+int ribmgr_disseminate(char * path,
+ enum diss_target target,
+ enum diss_freq freq,
+ size_t delay);
#endif /* OUROBOROS_IPCPD_NORMAL_RIBMGR_H */