Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
The test is always true
authornavarro <navarro@caraja.(none)>
Tue, 3 Apr 2012 14:45:53 +0000 (16:45 +0200)
committernavarro <navarro@caraja.(none)>
Tue, 3 Apr 2012 14:45:53 +0000 (16:45 +0200)
if( A_surfxml_route_symmetrical == A_surfxml_route_symmetrical_YES
|| A_surfxml_ASroute_symmetrical == A_surfxml_ASroute_symmetrical_YES )
was always true because they were set to YES by default

src/surf/surf_routing_dijkstra.c
src/surf/surf_routing_floyd.c
src/surf/surf_routing_full.c

index d5925a7..2736aa9 100644 (file)
@@ -473,9 +473,9 @@ void model_dijkstra_both_parse_route (AS_t asg, const char *src,
 {
     int as_route = 0;
     if(!route->dst_gateway && !route->src_gateway)
-      XBT_INFO("Load Route from \"%s\" to \"%s\"", src, dst);
+      XBT_DEBUG("Load Route from \"%s\" to \"%s\"", src, dst);
     else{
-      XBT_INFO("Load ASroute from \"%s(%s)\" to \"%s(%s)\"", src,
+      XBT_DEBUG("Load ASroute from \"%s(%s)\" to \"%s(%s)\"", src,
              route->src_gateway->name, dst, route->dst_gateway->name);
       as_route = 1;
       if(route->dst_gateway->rc_type == SURF_NETWORK_ELEMENT_NULL)
@@ -515,9 +515,9 @@ void model_dijkstra_both_parse_route (AS_t asg, const char *src,
        )
     {
       if(!route->dst_gateway && !route->src_gateway)
-        XBT_INFO("Load Route from \"%s\" to \"%s\"", dst, src);
+        XBT_DEBUG("Load Route from \"%s\" to \"%s\"", dst, src);
       else
-        XBT_INFO("Load ASroute from \"%s(%s)\" to \"%s(%s)\"", dst,
+        XBT_DEBUG("Load ASroute from \"%s(%s)\" to \"%s(%s)\"", dst,
                route->dst_gateway->name, src, route->src_gateway->name);
 
       xbt_dynar_t nodes = xbt_graph_get_nodes(as->route_graph);
index 540b5ef..0e770ca 100644 (file)
@@ -250,7 +250,8 @@ static int floyd_pointer_resource_cmp(const void *a, const void *b) {
 void model_floyd_parse_route(AS_t rc, const char *src,
         const char *dst, route_t route)
 {
-       as_floyd_t as = (as_floyd_t) rc;
+    int as_route = 0;
+    as_floyd_t as = (as_floyd_t) rc;
 
        /* set the size of table routing */
        size_t table_size = xbt_dynar_length(rc->index_network_elm);
@@ -282,14 +283,21 @@ void model_floyd_parse_route(AS_t rc, const char *src,
                  TO_FLOYD_LINK(i, j) = NULL;       /* fixed, missing in the previous version */
                }
        }
+    if(!route->dst_gateway && !route->src_gateway)
+      XBT_DEBUG("Load Route from \"%s\" to \"%s\"", src, dst);
+    else{
+        as_route = 1;
+        XBT_DEBUG("Load ASroute from \"%s(%s)\" to \"%s(%s)\"", src,
+             route->src_gateway->name, dst, route->dst_gateway->name);
+        if(route->dst_gateway->rc_type == SURF_NETWORK_ELEMENT_NULL)
+            xbt_die("The dst_gateway '%s' does not exist!",route->dst_gateway->name);
+        if(route->src_gateway->rc_type == SURF_NETWORK_ELEMENT_NULL)
+            xbt_die("The src_gateway '%s' does not exist!",route->src_gateway->name);
+    }
 
        if(TO_FLOYD_LINK(src_net_elm->id, dst_net_elm->id))
        {
-               if(!route->dst_gateway && !route->src_gateway)
-                       XBT_DEBUG("See Route from \"%s\" to \"%s\"", src, dst);
-               else
-                       XBT_DEBUG("See ASroute from \"%s(%s)\" to \"%s(%s)\"", src,
-                                route->src_gateway->name, dst, route->dst_gateway->name);
+
                char * link_name;
                unsigned int cpt;
                xbt_dynar_t link_route_to_test = xbt_dynar_new(global_routing->size_of_link, NULL);
@@ -307,16 +315,6 @@ void model_floyd_parse_route(AS_t rc, const char *src,
        }
        else
        {
-               if(!route->dst_gateway && !route->src_gateway)
-                 XBT_DEBUG("Load Route from \"%s\" to \"%s\"", src, dst);
-               else{
-                       XBT_DEBUG("Load ASroute from \"%s(%s)\" to \"%s(%s)\"", src,
-                                route->src_gateway->name, dst, route->dst_gateway->name);
-                       if(route->dst_gateway->rc_type == SURF_NETWORK_ELEMENT_NULL)
-                               xbt_die("The dst_gateway '%s' does not exist!",route->dst_gateway->name);
-                       if(route->src_gateway->rc_type == SURF_NETWORK_ELEMENT_NULL)
-                               xbt_die("The src_gateway '%s' does not exist!",route->src_gateway->name);
-               }
            TO_FLOYD_LINK(src_net_elm->id, dst_net_elm->id) =
                        generic_new_extended_route(rc->hierarchy, route, 1);
            TO_FLOYD_PRED(src_net_elm->id, dst_net_elm->id) = src_net_elm->id;
@@ -324,8 +322,9 @@ void model_floyd_parse_route(AS_t rc, const char *src,
                        ((TO_FLOYD_LINK(src_net_elm->id, dst_net_elm->id))->link_list)->used;   /* count of links, old model assume 1 */
        }
 
-       if( A_surfxml_route_symmetrical == A_surfxml_route_symmetrical_YES
-               || A_surfxml_ASroute_symmetrical == A_surfxml_ASroute_symmetrical_YES )
+    if ( (A_surfxml_route_symmetrical == A_surfxml_route_symmetrical_YES && as_route == 0)
+         || (A_surfxml_ASroute_symmetrical == A_surfxml_ASroute_symmetrical_YES && as_route == 1)
+       )
        {
                if(TO_FLOYD_LINK(dst_net_elm->id, src_net_elm->id))
                {
index acee99d..431c3d3 100644 (file)
@@ -160,7 +160,7 @@ 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;
-
+  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)
@@ -232,7 +232,7 @@ void model_full_set_route(AS_t rc, const char *src,
 //                         "in a sub-sub-AS is not allowed), "
 //                         "but '%s' is not in '%s'.",
 //                         route->dst_gateway, subas->name);
-
+      as_route = 1;
       XBT_DEBUG("Load ASroute from \"%s(%s)\" to \"%s(%s)\"",
                 src, route->src_gateway->name, dst, route->dst_gateway->name);
       if (route->dst_gateway->rc_type == SURF_NETWORK_ELEMENT_NULL)
@@ -245,8 +245,9 @@ void model_full_set_route(AS_t rc, const char *src,
     xbt_dynar_shrink(TO_ROUTE_FULL(src_net_elm->id, dst_net_elm->id)->link_list, 0);
   }
 
-  if (A_surfxml_route_symmetrical == A_surfxml_route_symmetrical_YES
-      || A_surfxml_ASroute_symmetrical == A_surfxml_ASroute_symmetrical_YES) {
+  if ( (A_surfxml_route_symmetrical == A_surfxml_route_symmetrical_YES && as_route == 0)
+       || (A_surfxml_ASroute_symmetrical == A_surfxml_ASroute_symmetrical_YES && as_route == 1)
+     ) {
     if (route->dst_gateway && route->src_gateway) {
       network_element_t gw_tmp;
       gw_tmp = route->src_gateway;