Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
[simgrid.git] / src / instr / instr_interface.c
index 13c3e39..e49403a 100644 (file)
@@ -145,7 +145,15 @@ static void instr_user_srcdst_variable(double time,
                               InstrUserVariable what)
 {
   xbt_dynar_t route=NULL;
                               InstrUserVariable what)
 {
   xbt_dynar_t route=NULL;
-  routing_get_route_and_latency (src, dst, &route,NULL);
+  network_element_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);
+  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);
+
+  routing_get_route_and_latency (src_elm, dst_elm, &route,NULL);
   unsigned int i;
   void *link;
   xbt_dynar_foreach (route, i, link) {
   unsigned int i;
   void *link;
   xbt_dynar_foreach (route, i, link) {