+ AS_t subas = xbt_dict_get_or_null(rc->routing_sons, src);
+ if (subas==NULL)
+ surf_parse_error("The source of an ASroute must be a sub-AS declared within the current AS, but '%s' is not an AS within '%s'",
+ src,rc->name);
+ if (xbt_dict_get_or_null(subas->to_index, route->src_gateway) == NULL)
+ surf_parse_error("In an ASroute, source gateway must be part of the source sub-AS (in particular, being in a sub-sub-AS is not allowed), but '%s' is not in '%s'.",
+ route->src_gateway,subas->name);
+
+ subas = xbt_dict_get_or_null(rc->routing_sons, dst);
+ if (subas==NULL)
+ surf_parse_error("The destination of an ASroute must be a sub-AS declared within the current AS, but '%s' is not an AS within '%s'",
+ dst,rc->name);
+ if (xbt_dict_get_or_null(subas->to_index, route->dst_gateway) == NULL)
+ surf_parse_error("In an ASroute, destination gateway must be part of the destination sub-AS (in particular, in a sub-sub-AS is not allowed), but '%s' is not in '%s'.",
+ route->dst_gateway,subas->name);
+