-static void create_routing_table(void)
-{
- routing_table = xbt_new0(s_route_KCCFLN05_t, nb_workstation * nb_workstation);
-}
-
-static void network_link_free(void *nw_link)
-{
- free(((network_link_KCCFLN05_t)nw_link)->name);
- free(nw_link);
-}
-
-static network_link_KCCFLN05_t network_link_new(char *name,
- double bw_initial,
- tmgr_trace_t bw_trace,
- e_surf_network_link_state_t
- state_initial,
- tmgr_trace_t state_trace)
-{
- network_link_KCCFLN05_t nw_link = xbt_new0(s_network_link_KCCFLN05_t, 1);
-
-
- nw_link->resource = (surf_resource_t) surf_network_resource;
- nw_link->name = name;
- nw_link->bw_current = bw_initial;
- if (bw_trace)
- nw_link->bw_event =
- tmgr_history_add_trace(history, bw_trace, 0.0, 0, nw_link);
- nw_link->state_current = state_initial;
- if (state_trace)
- nw_link->state_event =
- tmgr_history_add_trace(history, state_trace, 0.0, 0, nw_link);
-
- nw_link->constraint =
- lmm_constraint_new(maxmin_system_network_KCCFLN05, nw_link, nw_link->bw_current);
-
- xbt_dict_set(network_link_set, name, nw_link, network_link_free);
-
- return nw_link;
-}
-
-static void parse_network_link(void)
-{
- char *name;
- double bw_initial;
- tmgr_trace_t bw_trace;
- e_surf_network_link_state_t state_initial = SURF_NETWORK_LINK_ON;
- tmgr_trace_t state_trace;
-
- name = xbt_strdup(A_network_link_name);
- surf_parse_get_double(&bw_initial,A_network_link_bandwidth);
- surf_parse_get_trace(&bw_trace, A_network_link_bandwidth_file);
-
- xbt_assert0((A_network_link_state==A_network_link_state_ON)||
- (A_network_link_state==A_network_link_state_OFF),
- "Invalid state")
- if (A_network_link_state==A_network_link_state_ON)
- state_initial = SURF_NETWORK_LINK_ON;
- if (A_network_link_state==A_network_link_state_OFF)
- state_initial = SURF_NETWORK_LINK_OFF;
- surf_parse_get_trace(&state_trace,A_network_link_state_file);
-
- network_link_new(name, bw_initial, bw_trace, state_initial, state_trace);
-}
-
-static void route_new(int src_id, int dst_id, char **links, int nb_link,
- double impact_on_src, double impact_on_dst,
- double impact_on_src_with_other_recv,
- double impact_on_dst_with_other_send)
-{
- network_link_KCCFLN05_t *link_list = NULL;
- int i;
- route_KCCFLN05_t route = &(ROUTE(src_id,dst_id));
-
- route->size= nb_link;
- link_list = route->links = xbt_new0(network_link_KCCFLN05_t, nb_link);
- for (i = 0; i < nb_link; i++) {
- link_list[i] = xbt_dict_get(network_link_set, links[i]);
- free(links[i]);
- }
- free(links);
- route->impact_on_src=impact_on_src;
- route->impact_on_dst=impact_on_src;
- route->impact_on_src_with_other_recv=impact_on_src_with_other_recv;
- route->impact_on_dst_with_other_send=impact_on_dst_with_other_send;
-}
-
-static int nb_link = 0;
-static char **link_name = NULL;
-static int src_id = -1;
-static int dst_id = -1;
-static double impact_on_src;
-static double impact_on_dst;
-static double impact_on_src_with_other_recv;
-static double impact_on_dst_with_other_send;
-
-static void parse_route_set_endpoints(void)
-{
- src_id = ((workstation_KCCFLN05_t) name_service(A_route_src))->id;
- dst_id = ((workstation_KCCFLN05_t) name_service(A_route_dst))->id;
- surf_parse_get_double(&impact_on_src,A_route_impact_on_src);
- surf_parse_get_double(&impact_on_dst,A_route_impact_on_dst);
- surf_parse_get_double(&impact_on_src_with_other_recv,A_route_impact_on_src_with_other_recv);
- surf_parse_get_double(&impact_on_dst_with_other_send,A_route_impact_on_dst_with_other_send);
-
- nb_link = 0;
- link_name = NULL;
-}
-
-static void parse_route_elem(void)