return (src_coord-dst_coord)*(src_coord-dst_coord);
}
-AS_t model_vivaldi_create(void)
-{
- return new simgrid::surf::AsVivaldi();
-}
-
namespace simgrid {
namespace surf {
s_surf_parsing_link_up_down_t info;
XBT_DEBUG("vivaldi_get_route_and_latency from '%s'[%d] '%s'[%d]",
- src->getName(), src->getId(), dst->getName(), dst->getId());
+ src->getName(), src->getId(), dst->getName(), dst->getId());
if(src->getRcType() == SURF_NETWORK_ELEMENT_AS) {
char *src_name = ROUTER_PEER(src->getName());
if(src->getRcType() == SURF_NETWORK_ELEMENT_HOST){
tmp_src_name = HOST_PEER(src->getName());
- if(p_linkUpDownList){
+ if ((int)xbt_dynar_length(p_linkUpDownList)>src->getId()) {
info = xbt_dynar_get_as(p_linkUpDownList, src->getId(), s_surf_parsing_link_up_down_t);
if(info.link_up) { // link up
xbt_dynar_push_as(route->link_list, void*, info.link_up);
if(dst->getRcType() == SURF_NETWORK_ELEMENT_HOST){
tmp_dst_name = HOST_PEER(dst->getName());
- if(p_linkUpDownList){
+ if ((int)xbt_dynar_length(p_linkUpDownList)>dst->getId()) {
info = xbt_dynar_get_as(p_linkUpDownList, dst->getId(), s_surf_parsing_link_up_down_t);
if(info.link_down) { // link down
xbt_dynar_push_as(route->link_list,void*,info.link_down);