+ network_link_t nw_link = xbt_new0(s_network_link_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->lat_current = lat_initial;
+ if (lat_trace)
+ nw_link->lat_event =
+ tmgr_history_add_trace(history, lat_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, nw_link,
+ nw_link->bw_current);
+
+ xbt_dict_set(network_link_set, name, nw_link, network_link_free);
+
+ return nw_link;
+}
+
+static int network_card_new(const char *card_name)
+{
+ network_card_t card = NULL;
+
+ xbt_dict_get(network_card_set, card_name, (void *) &card);
+
+ if(!card) {
+ card = xbt_new0(s_network_card_t,1);
+ card->name=xbt_strdup(card_name);
+ card->id=card_number++;
+ xbt_dict_set(network_card_set, card_name, card, NULL);
+ }
+ return card->id;
+}
+
+static void route_new(int src_id, int dst_id,
+ char* *links, int nb_link)
+{
+ network_link_t *link_list = NULL;
+ int i ;
+
+ ROUTE_SIZE(src_id,dst_id) = nb_link;
+ link_list = (ROUTE(src_id,dst_id) = xbt_new0(network_link_t,nb_link));
+ for(i=0; i < nb_link; i++) {
+ xbt_dict_get(network_link_set,links[i], (void *) &(link_list[i]));
+ xbt_free(links[i]);
+ }
+ xbt_free(links);