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
} 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;
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);
* 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,