-
- char *pcre_link_src = bprintf("%s_link_$1src", struct_cluster->V_cluster_id);
- char *pcre_link_backbone = bprintf("%s_backbone", struct_cluster->V_cluster_id);
- char *pcre_link_dst = bprintf("%s_link_$1dst", struct_cluster->V_cluster_id);
-
- //from router to router
- XBT_DEBUG("<route\tsrc=\"%s\"\tdst=\"%s\"", struct_cluster->S_cluster_router_id, struct_cluster->S_cluster_router_id);
- XBT_DEBUG("symmetrical=\"NO\">");
- SURFXML_BUFFER_SET(route_src, struct_cluster->S_cluster_router_id);
- SURFXML_BUFFER_SET(route_dst, struct_cluster->S_cluster_router_id);
- A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
- SURFXML_START_TAG(route);
-
- if( strcmp(struct_cluster->S_cluster_bb_bw,"") && strcmp(struct_cluster->S_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, struct_cluster->S_cluster_router_id);
- XBT_DEBUG("symmetrical=\"NO\">");
- SURFXML_BUFFER_SET(route_src, route_src_dst);
- SURFXML_BUFFER_SET(route_dst, struct_cluster->S_cluster_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(struct_cluster->S_cluster_bb_bw,"") && strcmp(struct_cluster->S_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\"", struct_cluster->S_cluster_router_id, route_src_dst);
- XBT_DEBUG("symmetrical=\"NO\">");
- SURFXML_BUFFER_SET(route_src, struct_cluster->S_cluster_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(struct_cluster->S_cluster_bb_bw,"") && strcmp(struct_cluster->S_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(struct_cluster->S_cluster_bb_bw,"") && strcmp(struct_cluster->S_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);
-