SURF_MODEL_DIJKSTRA,
SURF_MODEL_DIJKSTRACACHE,
SURF_MODEL_NONE,
- SURF_MODEL_RULEBASED,
SURF_MODEL_VIVALDI,
SURF_MODEL_CLUSTER
} e_routing_types;
model_dijkstracache_create, model_dijkstra_both_end},
{"none", "No routing (Unless you know what you are doing, avoid using this mode in combination with a non Constant network model).",
model_none_create, NULL},
- {"RuleBased", "Rule-Based routing data (...)",
- model_rulebased_create, NULL},
{"Vivaldi", "Vivaldi routing",
model_vivaldi_create, NULL},
{"Cluster", "Cluster routing",
s_surf_parsing_link_up_down_t link_up_down;
link_up_down.link_up = xbt_lib_get_or_null(link_lib, host->link_up, SURF_LINK_LEVEL);
link_up_down.link_down = xbt_lib_get_or_null(link_lib, host->link_down, SURF_LINK_LEVEL);
+ link_up_down.limiter_link = NULL;
+ link_up_down.loopback_link = NULL;
xbt_assert(link_up_down.link_up, "Link '%s' not found!",host->link_up);
xbt_assert(link_up_down.link_down, "Link '%s' not found!",host->link_down);
case A_surfxml_AS_routing_Floyd: model = &routing_models[SURF_MODEL_FLOYD];break;
case A_surfxml_AS_routing_Full: model = &routing_models[SURF_MODEL_FULL];break;
case A_surfxml_AS_routing_None: model = &routing_models[SURF_MODEL_NONE];break;
- case A_surfxml_AS_routing_RuleBased: model = &routing_models[SURF_MODEL_RULEBASED];break;
case A_surfxml_AS_routing_Vivaldi: model = &routing_models[SURF_MODEL_VIVALDI];break;
default: xbt_die("Not a valid model!!!");
break;
info.limiter_link =NULL;
}
+ if(cluster->loopback_bw!=0 || cluster->loopback_lat!=0){
+ char *tmp_link = bprintf("%s_loopback", link_id);
+ XBT_DEBUG("<loopback\tid=\"%s\"\tbw=\"%f\"/>", tmp_link,
+ cluster->limiter_link);
+
+
+ memset(&link, 0, sizeof(link));
+ link.id = tmp_link;
+ link.bandwidth = cluster->loopback_bw;
+ link.latency = cluster->loopback_lat;
+ link.state = SURF_RESOURCE_ON;
+ link.policy = SURF_LINK_FATPIPE;
+ sg_platf_new_link(&link);
+ info.loopback_link =
+ xbt_lib_get_or_null(link_lib, tmp_link, SURF_LINK_LEVEL);
+ free(tmp_link);
+ }else{
+ info.loopback_link =NULL;
+ }
xbt_dynar_push(current_routing->link_up_down_list,&info);
xbt_free(link_id);