-void *model_rulebased_create(void); /* create structures for rulebased routing model */
-void model_rulebased_load(void); /* load parse functions for rulebased routing model */
-void model_rulebased_unload(void); /* unload parse functions for rulebased routing model */
-void model_rulebased_end(void); /* finalize the creation of rulebased routing model */
+AS_t model_rulebased_create(void); /* create structures for rulebased routing model */
+
+/* ************************************************** */
+/* ************** Cluster ROUTING **************** */
+AS_t model_cluster_create(void); /* create structures for cluster routing model */
+
+/* Pass info from the cluster parser to the cluster routing */
+void surf_routing_cluster_add_link(const char* host_id,surf_parsing_link_up_down_t info);
+void surf_routing_cluster_add_backbone(AS_t as, void* bb);
+
+/* ************************************************** */
+/* ************** Vivaldi ROUTING **************** */
+AS_t model_vivaldi_create(void); /* create structures for vivaldi routing model */
+#define HOST_PEER(peername) bprintf("peer_%s", peername)
+#define ROUTER_PEER(peername) bprintf("router_%s", peername)
+#define LINK_UP_PEER(peername) bprintf("link_%s_up", peername)
+#define LINK_DOWN_PEER(peername) bprintf("link_%s_down", peername)