- char *pcre_link_src = bprintf("%s_link_$1src", cluster_id);
- char *pcre_link_backbone = bprintf("%s_backbone", cluster_id);
- char *pcre_link_dst = bprintf("%s_link_$1dst", cluster_id);
-
- //from router to router
- XBT_DEBUG("<route\tsrc=\"%s\"\tdst=\"%s\"", router_id, router_id);
- XBT_DEBUG("symmetrical=\"NO\">");
- SURFXML_BUFFER_SET(route_src, router_id);
- SURFXML_BUFFER_SET(route_dst, router_id);
- A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
- SURFXML_START_TAG(route);
-
- if(strcmp(cluster_bb_bw,"") && strcmp(cluster_bb_lat,"")){
- XBT_DEBUG("<link_ctn\tid=\"%s\"/>", pcre_link_backbone);
- SURFXML_BUFFER_SET(link_ctn_id, pcre_link_backbone);
- A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
- SURFXML_START_TAG(link_ctn);
- SURFXML_END_TAG(link_ctn);
- }
-
- XBT_DEBUG("</route>");
- SURFXML_END_TAG(route);
-
- //from host to router
- XBT_DEBUG("<route\tsrc=\"%s\"\tdst=\"%s\"", route_src_dst, router_id);
- XBT_DEBUG("symmetrical=\"NO\">");
- SURFXML_BUFFER_SET(route_src, route_src_dst);
- SURFXML_BUFFER_SET(route_dst, router_id);
- A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
- SURFXML_START_TAG(route);
-
- XBT_DEBUG("<link_ctn\tid=\"%s\"/>", pcre_link_src);
- SURFXML_BUFFER_SET(link_ctn_id, pcre_link_src);
- A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
- if(cluster_sharing_policy == A_surfxml_cluster_sharing_policy_FULLDUPLEX)
- {A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;}
- SURFXML_START_TAG(link_ctn);
- SURFXML_END_TAG(link_ctn);
-
- if(strcmp(cluster_bb_bw,"") && strcmp(cluster_bb_lat,"")){
- XBT_DEBUG("<link_ctn\tid=\"%s\"/>", pcre_link_backbone);
- SURFXML_BUFFER_SET(link_ctn_id, pcre_link_backbone);
- A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
- SURFXML_START_TAG(link_ctn);
- SURFXML_END_TAG(link_ctn);
- }
-
- XBT_DEBUG("</route>");
- SURFXML_END_TAG(route);
-
- //from router to host
- XBT_DEBUG("<route\tsrc=\"%s\"\tdst=\"%s\"", router_id, route_src_dst);
- XBT_DEBUG("symmetrical=\"NO\">");
- SURFXML_BUFFER_SET(route_src, router_id);
- SURFXML_BUFFER_SET(route_dst, route_src_dst);
- A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
- SURFXML_START_TAG(route);
-
- if(strcmp(cluster_bb_bw,"") && strcmp(cluster_bb_lat,"")){
- XBT_DEBUG("<link_ctn\tid=\"%s\"/>", pcre_link_backbone);
- SURFXML_BUFFER_SET(link_ctn_id, pcre_link_backbone);
- A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
- SURFXML_START_TAG(link_ctn);
- SURFXML_END_TAG(link_ctn);
- }
-
- XBT_DEBUG("<link_ctn\tid=\"%s\"/>", pcre_link_dst);
- SURFXML_BUFFER_SET(link_ctn_id, pcre_link_dst);
- A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
- if(cluster_sharing_policy == A_surfxml_cluster_sharing_policy_FULLDUPLEX)
- {A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;}
- SURFXML_START_TAG(link_ctn);
- SURFXML_END_TAG(link_ctn);
-
- XBT_DEBUG("</route>");
- SURFXML_END_TAG(route);
-
- //from host to host
- XBT_DEBUG("<route\tsrc=\"%s\"\tdst=\"%s\"", route_src_dst, route_src_dst);
- XBT_DEBUG("symmetrical=\"NO\">");
- SURFXML_BUFFER_SET(route_src, route_src_dst);
- SURFXML_BUFFER_SET(route_dst, route_src_dst);
- A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
- SURFXML_START_TAG(route);
-
- XBT_DEBUG("<link_ctn\tid=\"%s\"/>", pcre_link_src);
- SURFXML_BUFFER_SET(link_ctn_id, pcre_link_src);
- A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
- if(cluster_sharing_policy == A_surfxml_cluster_sharing_policy_FULLDUPLEX)
- {A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;}
- SURFXML_START_TAG(link_ctn);
- SURFXML_END_TAG(link_ctn);
-
- if(strcmp(cluster_bb_bw,"") && strcmp(cluster_bb_lat,"")){
- XBT_DEBUG("<link_ctn\tid=\"%s\"/>", pcre_link_backbone);
- SURFXML_BUFFER_SET(link_ctn_id, pcre_link_backbone);
- A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
- SURFXML_START_TAG(link_ctn);
- SURFXML_END_TAG(link_ctn);
- }
-
- XBT_DEBUG("<link_ctn\tid=\"%s\"/>", pcre_link_dst);
- SURFXML_BUFFER_SET(link_ctn_id, pcre_link_dst);
- A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
- if(cluster_sharing_policy == A_surfxml_cluster_sharing_policy_FULLDUPLEX)
- {A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;}
- SURFXML_START_TAG(link_ctn);
- SURFXML_END_TAG(link_ctn);
-
- XBT_DEBUG("</route>");
- SURFXML_END_TAG(route);
-
- free(pcre_link_dst);
- free(pcre_link_backbone);
- free(pcre_link_src);
- free(route_src_dst);
-
- xbt_free(cluster_bw);
- xbt_free(cluster_lat);
- xbt_free(cluster_power);
- xbt_free(availability_file);
- xbt_free(state_file);
-
- xbt_free(router_id);
- xbt_dict_free(&patterns);