+static AsPtr surf_AS_recursive_get_by_name(AsPtr current, const char * name) {
+ xbt_dict_cursor_t cursor = NULL;
+ char *key;
+ AS_t elem;
+ AsPtr tmp = NULL;
+
+ if(!strcmp(current->p_name, name))
+ return current;
+
+ xbt_dict_foreach(current->p_routingSons, cursor, key, elem) {
+ tmp = surf_AS_recursive_get_by_name(elem, name);
+ if(tmp != NULL ) {
+ break;
+ }
+ }
+ return tmp;
+}
+
+
+AsPtr surf_AS_get_by_name(const char * name) {
+ AsPtr as = surf_AS_recursive_get_by_name(routing_platf->p_root, name);
+ if(as == NULL)
+ XBT_WARN("Impossible to find an AS with name %s, please check your input", name);
+ return as;
+}
+