1 /* Copyright (c) 2007, 2008, 2009, 2010, 2011. The SimGrid Team.
2 * All rights reserved. */
4 /* This program is free software; you can redistribute it and/or modify it
5 * under the terms of the license (GNU LGPL) which comes with this package. */
7 #include "surf_private.h"
8 #include "surf/ns3/ns3_interface.h"
10 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_network_ns3, surf,
11 "Logging specific to the SURF network NS3 module");
13 extern routing_global_t global_routing;
15 void parse_ns3_add_host(void)
17 XBT_INFO("NS3_ADD_HOST '%s'",A_surfxml_host_id);
18 //ns3_add_host(A_surfxml_host_id);
20 void parse_ns3_add_router(void)
22 XBT_INFO("NS3_ADD_ROUTER '%s'",A_surfxml_router_id);
24 void parse_ns3_add_link(void)
26 XBT_INFO("NS3_ADD_LINK '%s'",A_surfxml_link_id);
28 void parse_ns3_add_AS(void)
30 XBT_INFO("NS3_ADD_AS '%s'",A_surfxml_AS_id);
32 void parse_ns3_add_route(void)
34 XBT_INFO("NS3_ADD_ROUTE from '%s' to '%s'",A_surfxml_route_src,A_surfxml_route_dst);
36 void parse_ns3_add_ASroute(void)
38 XBT_INFO("NS3_ADD_ASROUTE from '%s' to '%s'",A_surfxml_ASroute_src,A_surfxml_ASroute_dst);
40 void parse_ns3_add_cluster(void)
42 XBT_INFO("NS3_ADD_CLUSTER '%s'",A_surfxml_cluster_id);
43 routing_parse_Scluster();
46 static void define_callbacks_ns3(const char *filename)
48 surfxml_add_callback(STag_surfxml_host_cb_list, &parse_ns3_add_host); //HOST
49 surfxml_add_callback(STag_surfxml_router_cb_list, &parse_ns3_add_router); //ROUTER
50 surfxml_add_callback(STag_surfxml_link_cb_list, &parse_ns3_add_link); //LINK
51 surfxml_add_callback(STag_surfxml_AS_cb_list, &parse_ns3_add_AS); //AS
52 surfxml_add_callback(STag_surfxml_route_cb_list, &parse_ns3_add_route); //ROUTE
53 surfxml_add_callback(STag_surfxml_ASroute_cb_list, &parse_ns3_add_ASroute); //ASROUTE
54 surfxml_add_callback(STag_surfxml_cluster_cb_list, &parse_ns3_add_cluster); //CLUSTER
57 void surf_network_model_init_NS3(const char *filename)
59 define_callbacks_ns3(filename);
60 surf_network_model = surf_model_init();
61 surf_network_model->name = "network NS3";
63 update_model_description(surf_network_model_description,
64 "NS3", surf_network_model);