+ if(!strcmp(rc->routing->name,"Full"))
+ {
+ /* Create the routing table */
+ if(!routing->routing_table)
+ routing->routing_table = xbt_new0(route_extended_t, table_size * table_size);
+
+ route_to_test = &(TO_ROUTE_FULL(*src_id, *dst_id))->generic_route;
+ }
+ else
+ route_to_test = xbt_dict_get_or_null(_parse_routes, route_name);
+
+ if(route_to_test)
+ xbt_assert2(!xbt_dynar_compare(
+ (void*)route->link_list,
+ (void*)route_to_test->link_list,
+ (int_f_cpvoid_cpvoid_t) strcmp),
+ "The route between \"%s\" and \"%s\" already exist", src,dst);
+
+ if(!strcmp(rc->routing->name,"Full"))
+ {
+ TO_ROUTE_FULL(*src_id, *dst_id) =
+ generic_new_extended_route(current_routing->hierarchy, route, 1);
+ }
+ else
+ {
+ route_name = bprintf("%d#%d", *src_id, *dst_id);
+ xbt_dict_set(_parse_routes, route_name, route, NULL);
+ xbt_free(route_name);
+ }