From 640bc8d792c29169599712bf42d1b8cb873fe2fd Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sun, 8 Apr 2012 15:58:21 -1000 Subject: [PATCH] [route parsing] rename network_element_t into sg_routing_edge_t Also, make this type visible from simgrid/platf.h since we need to manipulate it to create routes efficiently --- include/simgrid/platf.h | 2 ++ src/include/surf/surf.h | 8 +++---- src/instr/instr_interface.c | 4 ++-- src/instr/instr_private.h | 2 +- src/surf/network.c | 4 ++-- src/surf/network_constant.c | 4 ++-- src/surf/network_gtnets.c | 4 ++-- src/surf/network_gtnets_private.h | 4 ++-- src/surf/network_ns3.c | 8 +++---- src/surf/surf.c | 2 +- src/surf/surf_private.h | 22 +++++++++--------- src/surf/surf_routing.c | 32 +++++++++++++------------- src/surf/surf_routing_cluster.c | 10 ++++---- src/surf/surf_routing_dijkstra.c | 18 +++++++-------- src/surf/surf_routing_floyd.c | 18 +++++++-------- src/surf/surf_routing_full.c | 10 ++++---- src/surf/surf_routing_generic.c | 22 +++++++++--------- src/surf/surf_routing_none.c | 14 +++++------ src/surf/surf_routing_private.h | 12 +++++----- src/surf/surf_routing_rulebased.c | 14 +++++------ src/surf/surf_routing_vivaldi.c | 2 +- src/surf/workstation_ptask_L07.c | 6 ++--- teshsuite/simdag/platforms/flatifier.c | 12 +++++----- 23 files changed, 117 insertions(+), 117 deletions(-) diff --git a/include/simgrid/platf.h b/include/simgrid/platf.h index 383226abc0..ce33501779 100644 --- a/include/simgrid/platf.h +++ b/include/simgrid/platf.h @@ -12,6 +12,8 @@ #include typedef void *sg_routing_link_t; /* The actual type is model-dependent so use void* instead*/ +typedef struct s_routing_edge *sg_routing_edge_t; + typedef struct tmgr_trace *tmgr_trace_t; /**< Opaque structure defining an availability trace */ diff --git a/src/include/surf/surf.h b/src/include/surf/surf.h index 309e5ac3a0..4313391915 100644 --- a/src/include/surf/surf.h +++ b/src/include/surf/surf.h @@ -179,8 +179,6 @@ typedef struct surf_cpu_model_extension_public { void (*add_traces) (void); } s_surf_model_extension_cpu_t; -typedef struct s_network_element_info *network_element_t; - /* Network model */ /** \ingroup SURF_models @@ -189,8 +187,8 @@ typedef struct s_network_element_info *network_element_t; * Public functions specific to the network model */ typedef struct surf_network_model_extension_public { - surf_action_t (*communicate) (network_element_t src, - network_element_t dst, + surf_action_t (*communicate) (sg_routing_edge_t src, + sg_routing_edge_t dst, double size, double rate); xbt_dynar_t(*get_route) (void *src, void *dst); //FIXME: kill field? That is done by the routing nowadays double (*get_link_bandwidth) (const void *link); @@ -336,7 +334,7 @@ static inline void *surf_workstation_resource_by_name(const char *name){ return xbt_lib_get_or_null(host_lib, name, SURF_WKS_LEVEL); } static inline void *surf_network_resource_by_name(const char *name){ - network_element_t net_elm = xbt_lib_get_or_null(host_lib, name, ROUTING_HOST_LEVEL); + sg_routing_edge_t net_elm = xbt_lib_get_or_null(host_lib, name, ROUTING_HOST_LEVEL); if(!net_elm) net_elm = xbt_lib_get_or_null(as_router_lib, name, ROUTING_ASR_LEVEL); return net_elm; } diff --git a/src/instr/instr_interface.c b/src/instr/instr_interface.c index caa55d90b5..763d75f8fe 100644 --- a/src/instr/instr_interface.c +++ b/src/instr/instr_interface.c @@ -298,11 +298,11 @@ static void instr_user_srcdst_variable(double time, InstrUserVariable what) { xbt_dynar_t route=NULL; - network_element_t src_elm = xbt_lib_get_or_null(host_lib,src,ROUTING_HOST_LEVEL); + sg_routing_edge_t src_elm = xbt_lib_get_or_null(host_lib,src,ROUTING_HOST_LEVEL); if(!src_elm) src_elm = xbt_lib_get_or_null(as_router_lib,src,ROUTING_ASR_LEVEL); if(!src_elm) xbt_die("Element '%s' not found!",src); - network_element_t dst_elm = xbt_lib_get_or_null(host_lib,dst,ROUTING_HOST_LEVEL); + sg_routing_edge_t dst_elm = xbt_lib_get_or_null(host_lib,dst,ROUTING_HOST_LEVEL); if(!dst_elm) dst_elm = xbt_lib_get_or_null(as_router_lib,dst,ROUTING_ASR_LEVEL); if(!dst_elm) xbt_die("Element '%s' not found!",dst); diff --git a/src/instr/instr_private.h b/src/instr/instr_private.h index 18501d03c0..e61edeac0c 100644 --- a/src/instr/instr_private.h +++ b/src/instr/instr_private.h @@ -63,7 +63,7 @@ typedef enum { typedef struct s_container *container_t; typedef struct s_container { - network_element_t net_elm; + sg_routing_edge_t net_elm; char *name; /* Unique name of this container */ char *id; /* Unique id of this container */ type_t type; /* Type of this container */ diff --git a/src/surf/network.c b/src/surf/network.c index ed12bf74a5..2680406b2f 100644 --- a/src/surf/network.c +++ b/src/surf/network.c @@ -752,8 +752,8 @@ static void net_update_resource_state(void *id, } -static surf_action_t net_communicate(network_element_t src, - network_element_t dst, +static surf_action_t net_communicate(sg_routing_edge_t src, + sg_routing_edge_t dst, double size, double rate) { unsigned int i; diff --git a/src/surf/network_constant.c b/src/surf/network_constant.c index f47e92f3bc..0a2251c829 100644 --- a/src/surf/network_constant.c +++ b/src/surf/network_constant.c @@ -109,8 +109,8 @@ static void netcste_update_resource_state(void *id, DIE_IMPOSSIBLE; } -static surf_action_t netcste_communicate(network_element_t src, - network_element_t dst, +static surf_action_t netcste_communicate(sg_routing_edge_t src, + sg_routing_edge_t dst, double size, double rate) { surf_action_network_Constant_t action = NULL; diff --git a/src/surf/network_gtnets.c b/src/surf/network_gtnets.c index 99590b7691..0ff71c75ff 100644 --- a/src/surf/network_gtnets.c +++ b/src/surf/network_gtnets.c @@ -333,8 +333,8 @@ static void update_resource_state(void *id, } /* Max durations are not supported */ -static surf_action_t communicate(network_element_t src_card, - network_element_t dst_card, +static surf_action_t communicate(sg_routing_edge_t src_card, + sg_routing_edge_t dst_card, double size, double rate) { surf_action_network_GTNETS_t action = NULL; diff --git a/src/surf/network_gtnets_private.h b/src/surf/network_gtnets_private.h index 39411859bd..2927abed4f 100644 --- a/src/surf/network_gtnets_private.h +++ b/src/surf/network_gtnets_private.h @@ -30,8 +30,8 @@ typedef struct surf_action_network_GTNETS { double rate; int suspended; #ifdef HAVE_TRACING - network_element_t src; - network_element_t dst; + sg_routing_edge_t src; + sg_routing_edge_t dst; #endif //HAVE_TRACING } s_surf_action_network_GTNETS_t, *surf_action_network_GTNETS_t; diff --git a/src/surf/network_ns3.c b/src/surf/network_ns3.c index b2350514e8..6741f6f253 100644 --- a/src/surf/network_ns3.c +++ b/src/surf/network_ns3.c @@ -26,8 +26,8 @@ static double time_to_next_flow_completion = -1; static double ns3_share_resources(double min); static void ns3_update_actions_state(double now, double delta); static void finalize(void); -static surf_action_t ns3_communicate(network_element_t src_elm, - network_element_t dst_elm, +static surf_action_t ns3_communicate(sg_routing_edge_t src_elm, + sg_routing_edge_t dst_elm, double size, double rate); static void action_suspend(surf_action_t action); static void action_resume(surf_action_t action); @@ -479,8 +479,8 @@ static void ns3_update_actions_state(double now, double delta) } /* Max durations are not supported */ -static surf_action_t ns3_communicate(network_element_t src_elm, - network_element_t dst_elm, +static surf_action_t ns3_communicate(sg_routing_edge_t src_elm, + sg_routing_edge_t dst_elm, double size, double rate) { surf_action_network_ns3_t action = NULL; diff --git a/src/surf/surf.c b/src/surf/surf.c index 709eb290fe..b82cc834c9 100644 --- a/src/surf/surf.c +++ b/src/surf/surf.c @@ -291,7 +291,7 @@ double generic_maxmin_share_resources(xbt_swag_t running_actions, static XBT_INLINE void routing_asr_host_free(void *p) { - network_element_t elm = p; + sg_routing_edge_t elm = p; free(elm->name); xbt_free(elm); } diff --git a/src/surf/surf_private.h b/src/surf/surf_private.h index 7f4c81a1b8..6e10c38dfc 100644 --- a/src/surf/surf_private.h +++ b/src/surf/surf_private.h @@ -103,7 +103,7 @@ const char *__surf_get_initial_path(void); int __surf_is_absolute_file_path(const char *file_path); typedef struct s_as *AS_t; -typedef struct s_network_element_info { +typedef struct s_routing_edge { AS_t rc_component; e_surf_network_element_type_t rc_type; int id; @@ -114,8 +114,8 @@ typedef struct s_network_element_info { * Link of lenght 1, alongside with its source and destination. This is mainly usefull in the bindings to gtnets and ns3 */ typedef struct s_onelink { - network_element_t src; - network_element_t dst; + sg_routing_edge_t src; + sg_routing_edge_t dst; void *link_ptr; } s_onelink_t, *onelink_t; @@ -132,8 +132,8 @@ typedef struct s_model_type { typedef struct s_route { xbt_dynar_t link_list; - network_element_t src_gateway; - network_element_t dst_gateway; + sg_routing_edge_t src_gateway; + sg_routing_edge_t dst_gateway; } s_route_t, *route_t; /* This enum used in the routing structure helps knowing in which situation we are. */ @@ -151,13 +151,13 @@ typedef struct s_as { char *name; struct s_as *routing_father; xbt_dict_t routing_sons; - network_element_t net_elem; + sg_routing_edge_t net_elem; xbt_dynar_t link_up_down_list; - void (*get_route_and_latency) (AS_t as, network_element_t src, network_element_t dst, route_t into, double *latency); + void (*get_route_and_latency) (AS_t as, sg_routing_edge_t src, sg_routing_edge_t dst, route_t into, double *latency); xbt_dynar_t(*get_onelink_routes) (AS_t as); - route_t(*get_bypass_route) (AS_t as, network_element_t src, network_element_t dst, double *lat); + route_t(*get_bypass_route) (AS_t as, sg_routing_edge_t src, sg_routing_edge_t dst, double *lat); void (*finalize) (AS_t as); @@ -165,8 +165,8 @@ typedef struct s_as { * that a new element is added to the AS currently built. * * Of course, only the routing model of this AS is informed, not every ones */ - int (*parse_PU) (AS_t as, network_element_t elm); /* A host or a router, whatever */ - int (*parse_AS) (AS_t as, network_element_t elm); + int (*parse_PU) (AS_t as, sg_routing_edge_t elm); /* A host or a router, whatever */ + int (*parse_AS) (AS_t as, sg_routing_edge_t elm); void (*parse_route) (AS_t as, const char *src, const char *dst, route_t route); void (*parse_ASroute) (AS_t as, const char *src, @@ -190,7 +190,7 @@ XBT_PUBLIC(void) generic_free_route(route_t route); // FIXME rename to routing_r // FIXME: make previous function private to routing again? -XBT_PUBLIC(void) routing_get_route_and_latency(network_element_t src, network_element_t dst, +XBT_PUBLIC(void) routing_get_route_and_latency(sg_routing_edge_t src, sg_routing_edge_t dst, xbt_dynar_t * route, double *latency); /** diff --git a/src/surf/surf_routing.c b/src/surf/surf_routing.c index 7839ddfb3f..b9ae25868a 100644 --- a/src/surf/surf_routing.c +++ b/src/surf/surf_routing.c @@ -104,7 +104,7 @@ struct s_model_type routing_models[] = { */ static void parse_S_host(sg_platf_host_cbarg_t host) { - network_element_t info = NULL; + sg_routing_edge_t info = NULL; if (current_routing->hierarchy == SURF_ROUTING_NULL) current_routing->hierarchy = SURF_ROUTING_BASE; xbt_assert(!xbt_lib_get_or_null(host_lib, host->id, ROUTING_HOST_LEVEL), @@ -148,7 +148,7 @@ static void parse_S_host(sg_platf_host_cbarg_t host) */ static void parse_S_router(sg_platf_router_cbarg_t router) { - network_element_t info = NULL; + sg_routing_edge_t info = NULL; if (current_routing->hierarchy == SURF_ROUTING_NULL) current_routing->hierarchy = SURF_ROUTING_BASE; xbt_assert(!xbt_lib_get_or_null(as_router_lib, router->id, ROUTING_ASR_LEVEL), @@ -306,8 +306,8 @@ static void routing_parse_E_ASroute(void) e_route->link_list = parsed_link_list; if (!strcmp(current_routing->model_desc->name,"RuleBased")) { - e_route->src_gateway = (network_element_t) gw_src; // DIRTY HACK possible only - e_route->dst_gateway = (network_element_t) gw_dst; // because of what is in routing_parse_E_ASroute + e_route->src_gateway = (sg_routing_edge_t) gw_src; // DIRTY HACK possible only + e_route->dst_gateway = (sg_routing_edge_t) gw_dst; // because of what is in routing_parse_E_ASroute } else { e_route->src_gateway = xbt_lib_get_or_null(as_router_lib, gw_src, ROUTING_ASR_LEVEL); @@ -422,7 +422,7 @@ void routing_AS_begin(const char *AS_id, const char *wanted_routing_type) new_as->hierarchy = SURF_ROUTING_NULL; new_as->name = xbt_strdup(AS_id); - network_element_t info = NULL; + sg_routing_edge_t info = NULL; info = xbt_new0(s_network_element_t, 1); if (current_routing == NULL && global_routing->root == NULL) { @@ -498,7 +498,7 @@ void routing_AS_end() * Get the common father of the to processing units, and the first different * father in the chain */ -static void elements_father(network_element_t src, network_element_t dst, +static void elements_father(sg_routing_edge_t src, sg_routing_edge_t dst, AS_t * res_father, AS_t * res_src, AS_t * res_dst) @@ -516,8 +516,8 @@ static void elements_father(network_element_t src, network_element_t dst, AS_t father; /* (1) find the as where the src and dst are located */ - network_element_t src_data = src; - network_element_t dst_data = dst; + sg_routing_edge_t src_data = src; + sg_routing_edge_t dst_data = dst; src_as = src_data->rc_component; dst_as = dst_data->rc_component; #ifndef NDEBUG @@ -573,7 +573,7 @@ static void elements_father(network_element_t src, network_element_t dst, * This function is called by "get_route" and "get_latency". It allows to walk * recursively through the ASes tree. */ -static void _get_route_and_latency(network_element_t src, network_element_t dst, +static void _get_route_and_latency(sg_routing_edge_t src, sg_routing_edge_t dst, xbt_dynar_t * links, double *latency) { s_route_t route; @@ -613,16 +613,16 @@ static void _get_route_and_latency(network_element_t src, network_element_t dst, route.link_list = xbt_dynar_new(sizeof(sg_routing_link_t), NULL); // Find the net_card corresponding to father - network_element_t src_father_net_elm = src_father->net_elem; - network_element_t dst_father_net_elm = dst_father->net_elem; + sg_routing_edge_t src_father_net_elm = src_father->net_elem; + sg_routing_edge_t dst_father_net_elm = dst_father->net_elem; common_father->get_route_and_latency(common_father, src_father_net_elm, dst_father_net_elm, &route,latency); xbt_assert((route.src_gateway != NULL) && (route.dst_gateway != NULL), "bad gateways for route from \"%s\" to \"%s\"", src->name, dst->name); - network_element_t src_gateway_net_elm = route.src_gateway; - network_element_t dst_gateway_net_elm = route.dst_gateway; + sg_routing_edge_t src_gateway_net_elm = route.src_gateway; + sg_routing_edge_t dst_gateway_net_elm = route.dst_gateway; /* If source gateway is not our source, we have to recursively find our way up to this point */ if (src != src_gateway_net_elm) @@ -652,8 +652,8 @@ static void _get_route_and_latency(network_element_t src, network_element_t dst, * walk through the routing components tree and find a route between hosts * by calling the differents "get_route" functions in each routing component. */ -void routing_get_route_and_latency(network_element_t src, - network_element_t dst, +void routing_get_route_and_latency(sg_routing_edge_t src, + sg_routing_edge_t dst, xbt_dynar_t * route, double *latency) { XBT_DEBUG("routing_get_route_and_latency from %s to %s",src->name,dst->name); @@ -696,7 +696,7 @@ static xbt_dynar_t get_onelink_routes(void) e_surf_network_element_type_t routing_get_network_element_type(const char *name) { - network_element_t rc = NULL; + sg_routing_edge_t rc = NULL; rc = xbt_lib_get_or_null(host_lib, name, ROUTING_HOST_LEVEL); if (rc) diff --git a/src/surf/surf_routing_cluster.c b/src/surf/surf_routing_cluster.c index 9a8a4115b6..52cc0595d9 100644 --- a/src/surf/surf_routing_cluster.c +++ b/src/surf/surf_routing_cluster.c @@ -20,7 +20,7 @@ typedef struct { /* Business methods */ static void cluster_get_route_and_latency(AS_t as, - network_element_t src, network_element_t dst, + sg_routing_edge_t src, sg_routing_edge_t dst, route_t route, double *lat) { s_surf_parsing_link_up_down_t info; @@ -58,15 +58,15 @@ static void model_cluster_finalize(AS_t as) { model_none_finalize(as); } -static int cluster_parse_PU(AS_t rc, network_element_t elm) { +static int cluster_parse_PU(AS_t rc, sg_routing_edge_t elm) { XBT_DEBUG("Load process unit \"%s\"", elm->name); - xbt_dynar_push_as(rc->index_network_elm,network_element_t,elm); + xbt_dynar_push_as(rc->index_network_elm,sg_routing_edge_t,elm); return xbt_dynar_length(rc->index_network_elm)-1; } -static int cluster_parse_AS(AS_t rc, network_element_t elm) { +static int cluster_parse_AS(AS_t rc, sg_routing_edge_t elm) { XBT_DEBUG("Load Autonomous system \"%s\"", elm->name); - xbt_dynar_push_as(rc->index_network_elm,network_element_t,elm); + xbt_dynar_push_as(rc->index_network_elm,sg_routing_edge_t,elm); return xbt_dynar_length(rc->index_network_elm)-1; } diff --git a/src/surf/surf_routing_dijkstra.c b/src/surf/surf_routing_dijkstra.c index e4ea7de668..f0eea132d9 100644 --- a/src/surf/surf_routing_dijkstra.c +++ b/src/surf/surf_routing_dijkstra.c @@ -166,7 +166,7 @@ static void add_loopback_dijkstra(as_dijkstra_t as) { } static void dijkstra_get_route_and_latency(AS_t as_generic, - network_element_t src, network_element_t dst, route_t route, double *lat); + sg_routing_edge_t src, sg_routing_edge_t dst, route_t route, double *lat); static xbt_dynar_t dijkstra_get_onelink_routes(AS_t as) { @@ -175,13 +175,13 @@ static xbt_dynar_t dijkstra_get_onelink_routes(AS_t as) route->link_list = xbt_dynar_new(sizeof(sg_routing_link_t),NULL); int src,dst; - network_element_t src_elm, dst_elm; + sg_routing_edge_t src_elm, dst_elm; size_t table_size = xbt_dynar_length(as->index_network_elm); for(src=0; src < table_size; src++) { for(dst=0; dst< table_size; dst++) { xbt_dynar_reset(route->link_list); - src_elm = xbt_dynar_get_as(as->index_network_elm,src,network_element_t); - dst_elm = xbt_dynar_get_as(as->index_network_elm,dst,network_element_t); + src_elm = xbt_dynar_get_as(as->index_network_elm,src,sg_routing_edge_t); + dst_elm = xbt_dynar_get_as(as->index_network_elm,dst,sg_routing_edge_t); dijkstra_get_route_and_latency(as, src_elm, dst_elm,route, NULL); if (xbt_dynar_length(route->link_list) == 1) { @@ -203,7 +203,7 @@ static xbt_dynar_t dijkstra_get_onelink_routes(AS_t as) } static void dijkstra_get_route_and_latency(AS_t asg, - network_element_t src, network_element_t dst, + sg_routing_edge_t src, sg_routing_edge_t dst, route_t route, double *lat) { @@ -332,8 +332,8 @@ static void dijkstra_get_route_and_latency(AS_t asg, } /* compose route path with links */ - network_element_t gw_src = NULL, gw_dst, prev_gw_src, first_gw = NULL; - network_element_t gw_dst_net_elm = NULL, prev_gw_src_net_elm = NULL; + sg_routing_edge_t gw_src = NULL, gw_dst, prev_gw_src, first_gw = NULL; + sg_routing_edge_t gw_dst_net_elm = NULL, prev_gw_src_net_elm = NULL; for (v = dst_node_id; v != src_node_id; v = pred_arr[v]) { xbt_node_t node_pred_v = @@ -485,7 +485,7 @@ void model_dijkstra_both_parse_route (AS_t asg, const char *src, } as_dijkstra_t as = (as_dijkstra_t) asg; - network_element_t src_net_elm, dst_net_elm; + sg_routing_edge_t src_net_elm, dst_net_elm; src_net_elm = xbt_lib_get_or_null(host_lib, src, ROUTING_HOST_LEVEL); dst_net_elm = xbt_lib_get_or_null(host_lib, dst, ROUTING_HOST_LEVEL); @@ -530,7 +530,7 @@ void model_dijkstra_both_parse_route (AS_t asg, const char *src, THROWF(arg_error,0,"(AS)Route from '%s' to '%s' already exists",src,dst); if (route->dst_gateway && route->src_gateway) { - network_element_t gw_tmp; + sg_routing_edge_t gw_tmp; gw_tmp = route->src_gateway; route->src_gateway = route->dst_gateway; route->dst_gateway = gw_tmp; diff --git a/src/surf/surf_routing_floyd.c b/src/surf/surf_routing_floyd.c index d0ecbd42de..aaf100434d 100644 --- a/src/surf/surf_routing_floyd.c +++ b/src/surf/surf_routing_floyd.c @@ -25,7 +25,7 @@ typedef struct { route_t *link_table; } s_as_floyd_t, *as_floyd_t; -static void floyd_get_route_and_latency(AS_t asg, network_element_t src, network_element_t dst, +static void floyd_get_route_and_latency(AS_t asg, sg_routing_edge_t src, sg_routing_edge_t dst, route_t res, double *lat); /* Business methods */ @@ -36,13 +36,13 @@ static xbt_dynar_t floyd_get_onelink_routes(AS_t asg) route->link_list = xbt_dynar_new(sizeof(sg_routing_link_t), NULL); int src,dst; - network_element_t src_elm, dst_elm; + sg_routing_edge_t src_elm, dst_elm; int table_size = xbt_dynar_length(asg->index_network_elm); for(src=0; src < table_size; src++) { for(dst=0; dst< table_size; dst++) { xbt_dynar_reset(route->link_list); - src_elm = xbt_dynar_get_as(asg->index_network_elm,src,network_element_t); - dst_elm = xbt_dynar_get_as(asg->index_network_elm,dst,network_element_t); + src_elm = xbt_dynar_get_as(asg->index_network_elm,src,sg_routing_edge_t); + dst_elm = xbt_dynar_get_as(asg->index_network_elm,dst,sg_routing_edge_t); floyd_get_route_and_latency(asg, src_elm, dst_elm, route, NULL); if (xbt_dynar_length(route->link_list) == 1) { @@ -64,7 +64,7 @@ static xbt_dynar_t floyd_get_onelink_routes(AS_t asg) return ret; } -static void floyd_get_route_and_latency(AS_t asg, network_element_t src, network_element_t dst, +static void floyd_get_route_and_latency(AS_t asg, sg_routing_edge_t src, sg_routing_edge_t dst, route_t res, double *lat) { @@ -85,7 +85,7 @@ static void floyd_get_route_and_latency(AS_t asg, network_element_t src, network int first = 1; int pred = *dst_id; int prev_pred = 0; - network_element_t gw_src, gw_dst, prev_gw_src, first_gw; + sg_routing_edge_t gw_src, gw_dst, prev_gw_src, first_gw; unsigned int cpt; void *link; xbt_dynar_t links; @@ -254,7 +254,7 @@ void model_floyd_parse_route(AS_t rc, const char *src, /* set the size of table routing */ size_t table_size = xbt_dynar_length(rc->index_network_elm); - network_element_t src_net_elm, dst_net_elm; + sg_routing_edge_t src_net_elm, dst_net_elm; src_net_elm = xbt_lib_get_or_null(host_lib, src, ROUTING_HOST_LEVEL); dst_net_elm = xbt_lib_get_or_null(host_lib, dst, ROUTING_HOST_LEVEL); @@ -352,8 +352,8 @@ void model_floyd_parse_route(AS_t rc, const char *src, { if(route->dst_gateway && route->src_gateway) { - network_element_t gw_src = route->src_gateway; - network_element_t gw_dst = route->dst_gateway; + sg_routing_edge_t gw_src = route->src_gateway; + sg_routing_edge_t gw_dst = route->dst_gateway; route->src_gateway = gw_dst; route->dst_gateway = gw_src; } diff --git a/src/surf/surf_routing_full.c b/src/surf/surf_routing_full.c index 9e1b99ce02..1781b2fae4 100644 --- a/src/surf/surf_routing_full.c +++ b/src/surf/surf_routing_full.c @@ -39,9 +39,9 @@ static xbt_dynar_t full_get_onelink_routes(AS_t rc) onelink_t onelink = xbt_new0(s_onelink_t, 1); onelink->link_ptr = link; if (rc->hierarchy == SURF_ROUTING_BASE) { - onelink->src = xbt_dynar_get_as(rc->index_network_elm,src,network_element_t); + onelink->src = xbt_dynar_get_as(rc->index_network_elm,src,sg_routing_edge_t); onelink->src->id = src; - onelink->dst = xbt_dynar_get_as(rc->index_network_elm,dst,network_element_t); + onelink->dst = xbt_dynar_get_as(rc->index_network_elm,dst,sg_routing_edge_t); onelink->dst->id = dst; } else if (rc->hierarchy == SURF_ROUTING_RECURSIVE) { onelink->src = route->src_gateway; @@ -59,7 +59,7 @@ static xbt_dynar_t full_get_onelink_routes(AS_t rc) } static void full_get_route_and_latency(AS_t rc, - network_element_t src, network_element_t dst, + sg_routing_edge_t src, sg_routing_edge_t dst, route_t res, double *lat) { XBT_DEBUG("full_get_route_and_latency from %s[%d] to %s[%d]", @@ -159,7 +159,7 @@ static int full_pointer_resource_cmp(const void *a, const void *b) void model_full_set_route(AS_t rc, const char *src, const char *dst, route_t route) { - network_element_t src_net_elm, dst_net_elm; + sg_routing_edge_t src_net_elm, dst_net_elm; int as_route = 0; src_net_elm = xbt_lib_get_or_null(host_lib, src, ROUTING_HOST_LEVEL); dst_net_elm = xbt_lib_get_or_null(host_lib, dst, ROUTING_HOST_LEVEL); @@ -249,7 +249,7 @@ void model_full_set_route(AS_t rc, const char *src, || (A_surfxml_ASroute_symmetrical == A_surfxml_ASroute_symmetrical_YES && as_route == 1) ) { if (route->dst_gateway && route->src_gateway) { - network_element_t gw_tmp; + sg_routing_edge_t gw_tmp; gw_tmp = route->src_gateway; route->src_gateway = route->dst_gateway; route->dst_gateway = gw_tmp; diff --git a/src/surf/surf_routing_generic.c b/src/surf/surf_routing_generic.c index 0660db8160..2ee5f759e3 100644 --- a/src/surf/surf_routing_generic.c +++ b/src/surf/surf_routing_generic.c @@ -38,17 +38,17 @@ void model_generic_finalize(AS_t as) { model_none_finalize(as); } -int generic_parse_PU(AS_t as, network_element_t elm) +int generic_parse_PU(AS_t as, sg_routing_edge_t elm) { XBT_DEBUG("Load process unit \"%s\"", elm->name); - xbt_dynar_push_as(as->index_network_elm,network_element_t,elm); + xbt_dynar_push_as(as->index_network_elm,sg_routing_edge_t,elm); return xbt_dynar_length(as->index_network_elm)-1; } -int generic_parse_AS(AS_t as, network_element_t elm) +int generic_parse_AS(AS_t as, sg_routing_edge_t elm) { XBT_DEBUG("Load Autonomous system \"%s\"", elm->name); - xbt_dynar_push_as(as->index_network_elm,network_element_t,elm); + xbt_dynar_push_as(as->index_network_elm,sg_routing_edge_t,elm); return xbt_dynar_length(as->index_network_elm)-1; } @@ -93,7 +93,7 @@ xbt_dynar_t generic_get_onelink_routes(AS_t rc) { // FIXME: kill that stub return NULL; } -route_t generic_get_bypassroute(AS_t rc, network_element_t src, network_element_t dst, double *lat) +route_t generic_get_bypassroute(AS_t rc, sg_routing_edge_t src, sg_routing_edge_t dst, double *lat) { // If never set a bypass route return NULL without any further computations XBT_DEBUG("generic_get_bypassroute from %s to %s",src->name,dst->name); @@ -302,7 +302,7 @@ generic_autonomous_system_exist(AS_t rc, char *element) AS_t element_as, result, elem; xbt_dict_cursor_t cursor = NULL; char *key; - element_as = ((network_element_t) + element_as = ((sg_routing_edge_t) xbt_lib_get_or_null(as_router_lib, element, ROUTING_ASR_LEVEL))->rc_component; result = ((AS_t) - 1); @@ -326,7 +326,7 @@ AS_t generic_processing_units_exist(AS_t rc, char *element) { AS_t element_as; - element_as = ((network_element_t) + element_as = ((sg_routing_edge_t) xbt_lib_get_or_null(host_lib, element, ROUTING_HOST_LEVEL))->rc_component; if (element_as == rc) @@ -334,12 +334,12 @@ generic_processing_units_exist(AS_t rc, char *element) return generic_as_exist(rc, element_as); } -void generic_src_dst_check(AS_t rc, network_element_t src, - network_element_t dst) +void generic_src_dst_check(AS_t rc, sg_routing_edge_t src, + sg_routing_edge_t dst) { - network_element_t src_data = src; - network_element_t dst_data = dst; + sg_routing_edge_t src_data = src; + sg_routing_edge_t dst_data = dst; if (src_data == NULL || dst_data == NULL) xbt_die("Ask for route \"from\"(%s) or \"to\"(%s) no found at AS \"%s\"", diff --git a/src/surf/surf_routing_none.c b/src/surf/surf_routing_none.c index 28c43e52f5..6a53d45d74 100644 --- a/src/surf/surf_routing_none.c +++ b/src/surf/surf_routing_none.c @@ -12,28 +12,28 @@ static xbt_dynar_t none_get_onelink_routes(AS_t rc) { return NULL; } -static void none_get_route_and_latency(AS_t rc, network_element_t src, network_element_t dst, +static void none_get_route_and_latency(AS_t rc, sg_routing_edge_t src, sg_routing_edge_t dst, route_t res,double *lat) { *lat = 0.0; } static route_t none_get_bypass_route(AS_t rc, - network_element_t src, - network_element_t dst, double *lat) { + sg_routing_edge_t src, + sg_routing_edge_t dst, double *lat) { return NULL; } -static int none_parse_PU(AS_t rc, network_element_t elm) { +static int none_parse_PU(AS_t rc, sg_routing_edge_t elm) { XBT_DEBUG("Load process unit \"%s\"", elm->name); - xbt_dynar_push_as(rc->index_network_elm,network_element_t,elm); + xbt_dynar_push_as(rc->index_network_elm,sg_routing_edge_t,elm); /* don't care about PUs */ return -1; } -static int none_parse_AS(AS_t rc, network_element_t elm) { +static int none_parse_AS(AS_t rc, sg_routing_edge_t elm) { XBT_DEBUG("Load Autonomous system \"%s\"", elm->name); - xbt_dynar_push_as(rc->index_network_elm,network_element_t,elm); + xbt_dynar_push_as(rc->index_network_elm,sg_routing_edge_t,elm); /* even don't care about sub-ASes -- I'm as nihilist as an old punk*/ return -1; } diff --git a/src/surf/surf_routing_private.h b/src/surf/surf_routing_private.h index 5b357c82c1..da5f6313ce 100644 --- a/src/surf/surf_routing_private.h +++ b/src/surf/surf_routing_private.h @@ -29,8 +29,8 @@ void model_none_finalize(AS_t as); AS_t model_generic_create_sized(size_t childsize); void model_generic_finalize(AS_t as); -int generic_parse_PU(AS_t rc, network_element_t elm); -int generic_parse_AS(AS_t rc, network_element_t elm); +int generic_parse_PU(AS_t rc, sg_routing_edge_t elm); +int generic_parse_AS(AS_t rc, sg_routing_edge_t elm); void generic_parse_bypassroute(AS_t rc, const char *src, const char *dst, route_t e_route); @@ -39,8 +39,8 @@ void generic_parse_bypassroute(AS_t rc, const char *src, const char *dst, xbt_dynar_t generic_get_onelink_routes(AS_t rc); route_t generic_get_bypassroute(AS_t rc, - network_element_t src, - network_element_t dst, + sg_routing_edge_t src, + sg_routing_edge_t dst, double *lat); /* ************************************************************************** */ @@ -55,8 +55,8 @@ AS_t generic_autonomous_system_exist(AS_t rc, char *element); AS_t generic_processing_units_exist(AS_t rc, char *element); -void generic_src_dst_check(AS_t rc, network_element_t src, - network_element_t dst); +void generic_src_dst_check(AS_t rc, sg_routing_edge_t src, + sg_routing_edge_t dst); /* ************************************************************************** */ diff --git a/src/surf/surf_routing_rulebased.c b/src/surf/surf_routing_rulebased.c index 788e87a3ee..640a18a470 100644 --- a/src/surf/surf_routing_rulebased.c +++ b/src/surf/surf_routing_rulebased.c @@ -62,14 +62,14 @@ static void rule_route_extended_free(void *e) /* Parse routing model functions */ -static int model_rulebased_parse_PU(AS_t rc, network_element_t elm) +static int model_rulebased_parse_PU(AS_t rc, sg_routing_edge_t elm) { AS_rulebased_t routing = (AS_rulebased_t) rc; xbt_dynar_push(routing->generic_routing.index_network_elm,(void *)elm); return -1; } -static int model_rulebased_parse_AS(AS_t rc, network_element_t elm) +static int model_rulebased_parse_AS(AS_t rc, sg_routing_edge_t elm) { AS_rulebased_t routing = (AS_rulebased_t) rc; xbt_dynar_push(routing->generic_routing.index_network_elm,(void *)elm); @@ -207,7 +207,7 @@ static char *remplace(char *value, const char **src_list, int src_size, } static void rulebased_get_route_and_latency(AS_t rc, - network_element_t src, network_element_t dst, + sg_routing_edge_t src, sg_routing_edge_t dst, route_t res,double*lat); static xbt_dynar_t rulebased_get_onelink_routes(AS_t rc) { @@ -219,7 +219,7 @@ static xbt_dynar_t rulebased_get_onelink_routes(AS_t rc) char *k1; //find router - network_element_t router = NULL; + sg_routing_edge_t router = NULL; xbt_lib_cursor_t cursor; xbt_lib_foreach(as_router_lib, cursor, k1, router) { @@ -230,7 +230,7 @@ static xbt_dynar_t rulebased_get_onelink_routes(AS_t rc) if (!router) xbt_die ("rulebased_get_onelink_routes works only if the AS is a cluster, sorry."); - network_element_t host = NULL; + sg_routing_edge_t host = NULL; xbt_lib_foreach(as_router_lib, cursor, k1, host){ route_t route = xbt_new0(s_route_t,1); route->link_list = xbt_dynar_new(sizeof(sg_routing_link_t),NULL); @@ -260,7 +260,7 @@ static xbt_dynar_t rulebased_get_onelink_routes(AS_t rc) /* Business methods */ static void rulebased_get_route_and_latency(AS_t rc, - network_element_t src, network_element_t dst, + sg_routing_edge_t src, sg_routing_edge_t dst, route_t route, double *lat) { XBT_DEBUG("rulebased_get_route_and_latency from '%s' to '%s'",src->name,dst->name); @@ -381,7 +381,7 @@ static void rulebased_get_route_and_latency(AS_t rc, pcre_free_substring_list(list_dst); } -static route_t rulebased_get_bypass_route(AS_t rc, network_element_t src, network_element_t dst, double *lat) { +static route_t rulebased_get_bypass_route(AS_t rc, sg_routing_edge_t src, sg_routing_edge_t dst, double *lat) { return NULL; } diff --git a/src/surf/surf_routing_vivaldi.c b/src/surf/surf_routing_vivaldi.c index caa5cc4224..6cdf157f19 100644 --- a/src/surf/surf_routing_vivaldi.c +++ b/src/surf/surf_routing_vivaldi.c @@ -17,7 +17,7 @@ static XBT_INLINE double euclidean_dist_comp(int index, xbt_dynar_t src, xbt_dyn } static void vivaldi_get_route_and_latency( - AS_t rc, network_element_t src_p, network_element_t dst_p, + AS_t rc, sg_routing_edge_t src_p, sg_routing_edge_t dst_p, route_t route, double *lat) { XBT_DEBUG("vivaldi_get_route_and_latency from '%s'[%d] '%s'[%d]",src_p->name,src_p->id,dst_p->name,dst_p->id); diff --git a/src/surf/workstation_ptask_L07.c b/src/surf/workstation_ptask_L07.c index 51c7757581..b8fbf90f4d 100644 --- a/src/surf/workstation_ptask_L07.c +++ b/src/surf/workstation_ptask_L07.c @@ -28,7 +28,7 @@ typedef struct cpu_L07 { tmgr_trace_event_t power_event; tmgr_trace_event_t state_event; e_surf_resource_state_t state_current; - network_element_t info; + sg_routing_edge_t info; } s_cpu_L07_t, *cpu_L07_t; /**************************************/ @@ -69,8 +69,8 @@ static int ptask_host_count = 0; static xbt_dict_t ptask_parallel_task_link_set = NULL; lmm_system_t ptask_maxmin_system = NULL; -static surf_action_t die_impossible_communicate (network_element_t src, - network_element_t dst, +static surf_action_t die_impossible_communicate (sg_routing_edge_t src, + sg_routing_edge_t dst, double size, double rate) { DIE_IMPOSSIBLE; diff --git a/teshsuite/simdag/platforms/flatifier.c b/teshsuite/simdag/platforms/flatifier.c index a893b25276..4ec7ebdd35 100644 --- a/teshsuite/simdag/platforms/flatifier.c +++ b/teshsuite/simdag/platforms/flatifier.c @@ -53,8 +53,8 @@ int main(int argc, char **argv) xbt_lib_cursor_t cursor_src = NULL; xbt_lib_cursor_t cursor_dst = NULL; char *src,*dst,*key,*data; - network_element_t value1; - network_element_t value2; + sg_routing_edge_t value1; + sg_routing_edge_t value2; xbt_ex_t e; const SD_workstation_t *hosts; @@ -102,7 +102,7 @@ int main(int argc, char **argv) // Routers xbt_lib_foreach(as_router_lib, cursor_src, key, value1) { - if(((network_element_t)xbt_lib_get_or_null(as_router_lib, key, + if(((sg_routing_edge_t)xbt_lib_get_or_null(as_router_lib, key, ROUTING_ASR_LEVEL))->rc_type == SURF_NETWORK_ELEMENT_ROUTER) { printf(" \n",key); @@ -159,7 +159,7 @@ int main(int argc, char **argv) ,dst); xbt_dynar_t route=NULL; value2 = xbt_lib_get_or_null(as_router_lib,dst,ROUTING_ASR_LEVEL); - routing_get_route_and_latency((network_element_t)value1,(network_element_t)value2,&route,NULL); + routing_get_route_and_latency((sg_routing_edge_t)value1,(sg_routing_edge_t)value2,&route,NULL); for(i=0;i