+
+ return 0;
+}
+
+int console_add_ASroute(lua_State *L) {
+ s_sg_platf_route_cbarg_t ASroute;
+ memset(&ASroute,0,sizeof(ASroute));
+
+ lua_pushstring(L, "src");
+ lua_gettable(L, -2);
+ ASroute.src = lua_tostring(L, -1);
+ lua_pop(L, 1);
+
+ lua_pushstring(L, "dst");
+ lua_gettable(L, -2);
+ ASroute.dst = lua_tostring(L, -1);
+ lua_pop(L, 1);
+
+ lua_pushstring(L, "gw_src");
+ lua_gettable(L, -2);
+ ASroute.gw_src = sg_routing_edge_by_name_or_null(lua_tostring(L, -1));
+ lua_pop(L, 1);
+
+ lua_pushstring(L, "gw_dst");
+ lua_gettable(L, -2);
+ ASroute.gw_dst = sg_routing_edge_by_name_or_null(lua_tostring(L, -1));
+ lua_pop(L, 1);
+
+ /*if (A_surfxml_ASroute_gw___src && !ASroute.gw_src)*/
+ /*surf_parse_error("gw_src=\"%s\" not found for ASroute from \"%s\" to \"%s\"",*/
+ /*A_surfxml_ASroute_gw___src, ASroute.src, ASroute.dst);*/
+ /*if (A_surfxml_ASroute_gw___dst && !ASroute.gw_dst)*/
+ /*surf_parse_error("gw_dst=\"%s\" not found for ASroute from \"%s\" to \"%s\"",*/
+ /*A_surfxml_ASroute_gw___dst, ASroute.src, ASroute.dst);*/
+
+ lua_pushstring(L,"links");
+ lua_gettable(L,-2);
+ ASroute.link_list = xbt_str_split(lua_tostring(L, -1), ", \t\r\n");
+ if (xbt_dynar_is_empty(ASroute.link_list))
+ xbt_dynar_push_as(ASroute.link_list,char*,xbt_strdup(lua_tostring(L, -1)));
+ lua_pop(L,1);
+
+ lua_pushstring(L,"symmetrical");
+ lua_gettable(L,-2);
+ if (lua_isstring(L, -1)) {
+ const char* value = lua_tostring(L, -1);
+ if (strcmp("YES", value) == 0) {
+ ASroute.symmetrical = TRUE;
+ }
+ else
+ ASroute.symmetrical = FALSE;
+ }
+ else {
+ ASroute.symmetrical = TRUE;
+ }
+ lua_pop(L,1);
+
+ sg_platf_new_ASroute(&ASroute);
+