- xbt_free(struct_lnk->V_link_id);
- struct_lnk->V_link_bandwidth = 0;
- struct_lnk->V_link_bandwidth_file = NULL;
- struct_lnk->V_link_latency = 0;
- struct_lnk->V_link_latency_file = NULL;
- struct_lnk->V_link_state = SURF_RESOURCE_ON;
- struct_lnk->V_link_state_file = NULL;
- struct_lnk->V_link_sharing_policy = 0;
- xbt_free(struct_lnk);
+
+ 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);