static void replace_bdw_ns3(char * bdw)
{
-// replace_str(bdw,".00","");
-// char *temp = xbt_strdup(bdw);
-//
-// replace_str(bdw,"000000000","Gbps");
-// if(strcmp(bdw,temp)) {xbt_free(temp);return;}
-// replace_str(bdw,"00000000","00Mbps");
-// if(strcmp(bdw,temp)) {xbt_free(temp);return;}
-// replace_str(bdw,"0000000","0Mbps");
-// if(strcmp(bdw,temp)) {xbt_free(temp);return;}
-// replace_str(bdw,"000000","Mbps");
-// if(strcmp(bdw,temp)) {xbt_free(temp);return;}
-// replace_str(bdw,"00000","00Kbps");
-// if(strcmp(bdw,temp)) {xbt_free(temp);return;}
-// replace_str(bdw,"0000","0Kbps");
-// if(strcmp(bdw,temp)) {xbt_free(temp);return;}
-// replace_str(bdw,"000","Kbps");
-// if(strcmp(bdw,temp)) {xbt_free(temp);return;}
-//
-// xbt_free(bdw);
-// bdw = bprintf("%s%s",temp,"bps");
-// xbt_free(temp);
-
char *temp = xbt_strdup(bdw);
xbt_free(bdw);
bdw = bprintf("%fbps",atof(temp));
{
ns3_end_platform();
-// xbt_lib_cursor_t cursor = NULL;
-// char *name = NULL;
-// void **data = NULL;
-// XBT_INFO("link_lib");
-// xbt_lib_foreach(link_lib, cursor, name, data) {
-// XBT_INFO("\tSee link '%s'\t--> NS3_LEVEL %p",
-// name,
-// data[NS3_LINK_LEVEL]);
-// }
-// XBT_INFO(" ");
-// XBT_INFO("host_lib");
-// xbt_lib_foreach(host_lib, cursor, name, data) {
-// XBT_INFO("\tSee host '%s'\t--> NS3_LEVEL %p",
-// name,
-// data[NS3_HOST_LEVEL]);
-// }
-// XBT_INFO(" ");
-// XBT_INFO("as_router_lib");
-// xbt_lib_foreach(as_router_lib, cursor, name, data) {
-// XBT_INFO("\tSee ASR '%s'\t--> NS3_LEVEL %p",
-// name,
-// data[NS3_ASR_LEVEL]);
-// }
-//
-// XBT_INFO(" ");
+ xbt_lib_cursor_t cursor = NULL;
+ char *name = NULL;
+ void **data = NULL;
+ XBT_DEBUG("link_lib");
+ xbt_lib_foreach(link_lib, cursor, name, data) {
+ XBT_DEBUG("\tSee link '%s'\t--> NS3_LEVEL %p",
+ name,
+ data[NS3_LINK_LEVEL]);
+ }
+ XBT_DEBUG(" ");
+ XBT_DEBUG("host_lib");
+ xbt_lib_foreach(host_lib, cursor, name, data) {
+ XBT_DEBUG("\tSee host '%s'\t--> NS3_LEVEL %p",
+ name,
+ data[NS3_HOST_LEVEL]);
+ }
+ XBT_DEBUG(" ");
+ XBT_DEBUG("as_router_lib");
+ xbt_lib_foreach(as_router_lib, cursor, name, data) {
+ XBT_DEBUG("\tSee ASR '%s'\t--> NS3_LEVEL %p",
+ name,
+ data[NS3_ASR_LEVEL]);
+ }
+
+ XBT_DEBUG(" ");
}
/* Create the ns3 topology based on routing strategy */
void create_ns3_topology()
{
-// int src_id,dst_id;
-
XBT_INFO("Starting topology generation");
//get the onelinks from the parsed platform
char *dst = onelink->dst;
void *link = onelink->link_ptr;
-//TODO need to uncomment those two line
-// src_id = *((int *) xbt_dict_get_or_null(global_routing->root->to_index,src));
-// dst_id = *((int *) xbt_dict_get_or_null(global_routing->root->to_index,dst));
-
-// if( (src_id != dst_id) && ((surf_ns3_link_t)link)->created){
if( strcmp(src,dst) && ((surf_ns3_link_t)link)->created){
XBT_INFO("Route from '%s' to '%s' with link '%s'",src,dst,((surf_ns3_link_t)link)->data->id);
char * link_bdw = xbt_strdup(((surf_ns3_link_t)link)->data->bdw);
XBT_DEBUG("Add router %d to cluster",nodes.GetN()-Nodes.GetN()-1);
Nodes.Add(nodes.Get(nodes.GetN()-Nodes.GetN()-1));
- if(Nodes.GetN() > 254)
- xbt_die("Cluster with NS3 is limited to 254 nodes");
+ if(Nodes.GetN() > 65000)
+ xbt_die("Cluster with NS3 is limited to 65000 nodes");
CsmaHelper csma;
csma.SetChannelAttribute ("DataRate", StringValue (bw));
csma.SetChannelAttribute ("Delay", StringValue (lat));
NetDeviceContainer devices = csma.Install (Nodes);
XBT_DEBUG("Create CSMA");
-
- char * adr = bprintf("10.%d.%d.0",number_of_networks,number_of_links);
+ char * adr = bprintf("%d.%d.0.0",number_of_networks,number_of_links);
XBT_DEBUG("Assign IP Addresses %s to CSMA.",adr);
Ipv4AddressHelper ipv4;
- ipv4.SetBase (adr, "255.255.255.0");
+ ipv4.SetBase (adr, "255.255.0.0");
interfaces.Add(ipv4.Assign (devices));
if(number_of_links == 255){
number_of_links++;
}
XBT_DEBUG("Number of nodes in Cluster_nodes: %d",Cluster_nodes.GetN());
+
}
void * ns3_add_AS(char * id)
netA.Add(pointToPoint.Install (a, b));
- char * adr = bprintf("10.%d.%d.0",number_of_networks,number_of_links);
- address.SetBase (adr, "255.255.255.0");
+ char * adr = bprintf("%d.%d.0.0",number_of_networks,number_of_links);
+ address.SetBase (adr, "255.255.0.0");
XBT_DEBUG("\tInterface stack '%s'",adr);
interfaces.Add(address.Assign (netA));
XBT_INFO("InitializeRoutes");
GlobalRouteManager::BuildGlobalRoutingDatabase();
GlobalRouteManager::InitializeRoutes();
+
//TODO REMOVE ;)
Ptr<Node> a = nodes.Get(0);
- Ptr<Node> b = nodes.Get(11);
- Ptr<Node> c = nodes.Get(12);
- Ptr<Node> d = nodes.Get(13);
+ Ptr<Node> b = nodes.Get(1);
+ Ptr<Node> c = nodes.Get(2);
+ Ptr<Node> d = nodes.Get(3);
UdpEchoServerHelper echoServer (9);