- onelink_t onelink = xbt_new0(s_onelink_t, 1);
- onelink->link_ptr = link;
- if (p_hierarchy == SURF_ROUTING_BASE) {
- onelink->src = xbt_dynar_get_as(p_indexNetworkElm, src, sg_routing_edge_t);
- onelink->src->m_id = src;
- onelink->dst = xbt_dynar_get_as(p_indexNetworkElm, dst, sg_routing_edge_t);
- onelink->dst->m_id = dst;
- } else if (p_hierarchy == SURF_ROUTING_RECURSIVE) {
- onelink->src = route->gw_src;
- onelink->dst = route->gw_dst;
- }
+ Onelink *onelink;
+ if (hierarchy_ == SURF_ROUTING_BASE) {
+ NetCard *tmp_src = xbt_dynar_get_as(vertices_, src, sg_netcard_t);
+ tmp_src->setId(src);
+ NetCard *tmp_dst = xbt_dynar_get_as(vertices_, dst, sg_netcard_t);
+ tmp_dst->setId(dst);
+ onelink = new Onelink(link, tmp_src, tmp_dst);
+ } else if (hierarchy_ == SURF_ROUTING_RECURSIVE)
+ onelink = new Onelink(link, route->gw_src, route->gw_dst);
+ else
+ onelink = new Onelink(link, NULL, NULL);