From 3daae820581b21fdb17a7fd73ae92d617c2ab72a Mon Sep 17 00:00:00 2001 From: Navarrop Date: Mon, 7 Nov 2011 13:52:30 +0100 Subject: [PATCH] Resolved merge "merge changes. Strange, it seems to ate pierre commit" and redo the missing part. Set the struct for get_route of tag cluster. --- src/surf/surf_routing.c | 43 ++++++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/src/surf/surf_routing.c b/src/surf/surf_routing.c index 0a98b72b06..fb16f281f0 100644 --- a/src/surf/surf_routing.c +++ b/src/surf/surf_routing.c @@ -1553,7 +1553,7 @@ void routing_parse_Scluster(void) XBT_DEBUG("", link_id,struct_cluster->S_cluster_bw, struct_cluster->S_cluster_lat); struct_lnk = xbt_new0(s_surf_parsing_link_arg_t, 1); - struct_lnk->V_link_id = link_id; + struct_lnk->V_link_id = xbt_strdup(link_id); struct_lnk->V_link_bandwidth = struct_cluster->S_cluster_bw; struct_lnk->V_link_latency = struct_cluster->S_cluster_lat; struct_lnk->V_link_bandwidth_file = NULL; @@ -1573,11 +1573,26 @@ void routing_parse_Scluster(void) } surf_parse_link(); - xbt_dict_set(cluster_host_link,host_id,strdup(link_id),free); -// XBT_INFO("key '%s' Value '%s'",host_id,link_id); ETag_surfxml_host(); ETag_surfxml_link(); + surf_parsing_link_up_down_t info = xbt_new0(s_surf_parsing_link_up_down_t, 1); + if (A_surfxml_link_sharing_policy == A_surfxml_link_sharing_policy_FULLDUPLEX){ + char* tmp_link = bprintf("%s_UP",link_id); + info->link_up = xbt_lib_get_or_null(link_lib, tmp_link, SURF_LINK_LEVEL); + free(tmp_link); + tmp_link = bprintf("%s_DOWN",link_id); + info->link_down = xbt_lib_get_or_null(link_lib, tmp_link, SURF_LINK_LEVEL); + free(tmp_link); + } + else{ + info->link_up = xbt_lib_get_or_null(link_lib, link_id, SURF_LINK_LEVEL); + info->link_down = info->link_up; + } + xbt_dict_set(cluster_host_link,host_id,info,xbt_free); + xbt_free(link_id); + xbt_free(host_id); + break; case 2: @@ -1633,7 +1648,7 @@ void routing_parse_Scluster(void) XBT_DEBUG("", link_id,struct_cluster->S_cluster_bw, struct_cluster->S_cluster_lat); struct_lnk = xbt_new0(s_surf_parsing_link_arg_t, 1); - struct_lnk->V_link_id = link_id; + struct_lnk->V_link_id = xbt_strdup(link_id); struct_lnk->V_link_bandwidth = struct_cluster->S_cluster_bw; struct_lnk->V_link_latency = struct_cluster->S_cluster_lat; struct_lnk->V_link_bandwidth_file = NULL; @@ -1653,12 +1668,26 @@ void routing_parse_Scluster(void) } surf_parse_link(); - xbt_dict_set(cluster_host_link,host_id,strdup(link_id),free); -// XBT_INFO("key '%s' Value '%s'",host_id,link_id); - ETag_surfxml_host(); ETag_surfxml_link(); + surf_parsing_link_up_down_t info = xbt_new0(s_surf_parsing_link_up_down_t, 1); + if (A_surfxml_link_sharing_policy == A_surfxml_link_sharing_policy_FULLDUPLEX){ + char* tmp_link = bprintf("%s_UP",link_id); + info->link_up = xbt_lib_get_or_null(link_lib, tmp_link, SURF_LINK_LEVEL); + free(tmp_link); + tmp_link = bprintf("%s_DOWN",link_id); + info->link_down = xbt_lib_get_or_null(link_lib, tmp_link, SURF_LINK_LEVEL); + free(tmp_link); + } + else{ + info->link_up = xbt_lib_get_or_null(link_lib, link_id, SURF_LINK_LEVEL); + info->link_down = info->link_up; + } + xbt_dict_set(cluster_host_link,host_id,info,xbt_free); + xbt_free(link_id); + xbt_free(host_id); + } break; -- 2.20.1