void *link = *(void **) xbt_dynar_get_ptr(route->link_list, 0);
onelink_t onelink = xbt_new0(s_onelink_t, 1);
onelink->link_ptr = link;
- if (routing->generic_routing.hierarchy == SURF_ROUTING_BASE) {
- onelink->src = xbt_dynar_get_as(routing->generic_routing.index_network_elm,src,network_element_t);
+ if (rc->hierarchy == SURF_ROUTING_BASE) {
+ onelink->src = xbt_dynar_get_as(rc->index_network_elm,src,network_element_t);
onelink->src->id = src;
- onelink->dst = xbt_dynar_get_as(routing->generic_routing.index_network_elm,dst,network_element_t);
+ onelink->dst = xbt_dynar_get_as(rc->index_network_elm,dst,network_element_t);
onelink->dst->id = dst;
- } else if (routing->generic_routing.hierarchy ==
- SURF_ROUTING_RECURSIVE) {
+ } else if (rc->hierarchy == SURF_ROUTING_RECURSIVE) {
onelink->src = route->src_gateway;
onelink->dst = route->dst_gateway;
}
xbt_dynar_push(ret, &onelink);
+ XBT_DEBUG("Push route from '%d' to '%d'",
+ src,
+ dst);
}
}
}
{
network_element_t src_net_elm, dst_net_elm;
- src_net_elm = (network_element_t)xbt_lib_get_or_null(host_lib, src, ROUTING_HOST_LEVEL);
- dst_net_elm = (network_element_t)xbt_lib_get_or_null(host_lib, dst, ROUTING_HOST_LEVEL);
- if(!src_net_elm) src_net_elm = (network_element_t)xbt_lib_get_or_null(as_router_lib, src, ROUTING_ASR_LEVEL);
- if(!dst_net_elm) dst_net_elm = (network_element_t)xbt_lib_get_or_null(as_router_lib, dst, ROUTING_ASR_LEVEL);
+ 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);
xbt_assert(src_net_elm, "Network elements %s not found", src);
xbt_assert(dst_net_elm, "Network elements %s not found", dst);