Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[trace] fix SimDag tracing
[simgrid.git] / src / surf / surf_private.h
index bfd298c..a50e6cc 100644 (file)
@@ -108,7 +108,7 @@ typedef struct s_network_element_info {
   e_surf_network_element_type_t rc_type;
   int id;
   char *name;
-} s_network_element_t, *network_element_t;
+} s_network_element_t;
 
 /*
  * Link of lenght 1, alongside with its source and destination. This is mainly usefull in the bindings to gtnets and ns3
@@ -144,7 +144,7 @@ typedef enum {
 } e_surf_routing_hierarchy_t;
 
 typedef struct s_as {
-  int nb_index;
+  xbt_dynar_t index_network_elm;
   xbt_dict_t bypassRoutes;             /* store bypass routes */
   routing_model_description_t model_desc;
   e_surf_routing_hierarchy_t hierarchy;
@@ -152,6 +152,7 @@ typedef struct s_as {
   struct s_as *routing_father;
   xbt_dict_t routing_sons;
   network_element_t net_elem;
+  xbt_dynar_t link_up_down_list;
 
   void (*get_route_and_latency) (AS_t as, network_element_t src, network_element_t dst, route_t into, double *latency);
 
@@ -164,8 +165,8 @@ typedef struct s_as {
    * that a new element is added to the AS currently built.
    *
    * Of course, only the routing model of this AS is informed, not every ones */
-  int (*parse_PU) (AS_t as, const char *name); /* A host or a router, whatever */
-  int (*parse_AS) (AS_t as, const char *name);
+  int (*parse_PU) (AS_t as, network_element_t elm); /* A host or a router, whatever */
+  int (*parse_AS) (AS_t as, network_element_t elm);
   void (*parse_route) (AS_t as, const char *src,
                      const char *dst, route_t route);
   void (*parse_ASroute) (AS_t as, const char *src,