#include "surf_routing_private.h"
/* Global vars */
-extern routing_global_t global_routing;
+extern routing_platf_t routing_platf;
extern int surf_parse_lineno;
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_full, surf, "Routing part of surf");
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;
}
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]",
routing->routing_table = xbt_new0(route_t, table_size * table_size);
/* Add the loopback if needed */
- if (global_routing->loopback && current_routing->hierarchy == SURF_ROUTING_BASE) {
+ if (routing_platf->loopback && current_routing->hierarchy == SURF_ROUTING_BASE) {
for (i = 0; i < table_size; i++) {
e_route = TO_ROUTE_FULL(i, i);
if (!e_route) {
e_route->src_gateway = NULL;
e_route->dst_gateway = NULL;
e_route->link_list = xbt_dynar_new(sizeof(sg_routing_link_t), NULL);
- xbt_dynar_push(e_route->link_list, &global_routing->loopback);
+ xbt_dynar_push(e_route->link_list, &routing_platf->loopback);
TO_ROUTE_FULL(i, i) = e_route;
}
}
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);
- if (!src_net_elm)
- src_net_elm = xbt_lib_get_or_null(as_router_lib, src, ROUTING_ASR_LEVEL);
- if (!dst_net_elm)
- dst_net_elm = xbt_lib_get_or_null(as_router_lib, dst, ROUTING_ASR_LEVEL);
+ src_net_elm = sg_routing_edge_by_name_or_null(src);
+ dst_net_elm = sg_routing_edge_by_name_or_null(dst);
xbt_assert(src_net_elm, "Network elements %s not found", src);
xbt_assert(dst_net_elm, "Network elements %s not found", dst);
|| (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;