X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0c62ac293213c4632f158a2cbedc86e321a324d4..a279c221114b93985c6aa249e71cc4141082b310:/src/surf/ns3/ns3_interface.cc diff --git a/src/surf/ns3/ns3_interface.cc b/src/surf/ns3/ns3_interface.cc index eed590cb9a..900f77b6d7 100644 --- a/src/surf/ns3/ns3_interface.cc +++ b/src/surf/ns3/ns3_interface.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2007-2014. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -102,9 +102,6 @@ int ns3_initialize(const char* TcpProtocol){ Config::SetDefault ("ns3::TcpSocket::SegmentSize", UintegerValue (1024)); // 1024-byte packet for easier reading Config::SetDefault ("ns3::TcpSocket::DelAckCount", UintegerValue (1)); -#ifdef _HAVE_NS3_RED - XBT_INFO("Using RED version of ns3"); -#endif if(!strcmp(TcpProtocol,"default")){ return 0; } @@ -125,9 +122,10 @@ int ns3_initialize(const char* TcpProtocol){ } XBT_ERROR("The ns3/TcpModel must be : NewReno or Reno or Tahoe"); + return 0; } -void * ns3_add_host(char * id) +void * ns3_add_host(const char * id) { ns3_nodes_t host = xbt_new0(s_ns3_nodes_t,1); XBT_DEBUG("Interface ns3 add host[%d] '%s'",number_of_nodes,id); @@ -141,7 +139,7 @@ void * ns3_add_host(char * id) return host; } -void * ns3_add_host_cluster(char * id) +void * ns3_add_host_cluster(const char * id) { ns3_nodes_t host = xbt_new0(s_ns3_nodes_t,1); XBT_DEBUG("Interface ns3 add host[%d] '%s'",number_of_nodes,id); @@ -156,7 +154,7 @@ void * ns3_add_host_cluster(char * id) return host; } -void * ns3_add_router(char * id) +void * ns3_add_router(const char * id) { ns3_nodes_t router = xbt_new0(s_ns3_nodes_t,1); XBT_DEBUG("Interface ns3 add router[%d] '%s'",number_of_nodes,id); @@ -170,7 +168,7 @@ void * ns3_add_router(char * id) return router; } -void * ns3_add_cluster(char * bw,char * lat,char *id) +void ns3_add_cluster(char * bw,char * lat,const char *id) { XBT_DEBUG("cluster_id: %s",id); @@ -178,7 +176,7 @@ void * ns3_add_cluster(char * bw,char * lat,char *id) XBT_DEBUG("Number of %s nodes: %d",id,Cluster_nodes.GetN() - number_of_clusters_nodes); NodeContainer Nodes; - int i; + unsigned int i; for(i = number_of_clusters_nodes; i < Cluster_nodes.GetN() ; i++){ Nodes.Add(Cluster_nodes.Get(i)); @@ -201,6 +199,7 @@ void * ns3_add_cluster(char * bw,char * lat,char *id) XBT_DEBUG("Assign IP Addresses %s to CSMA.",adr); Ipv4AddressHelper ipv4; ipv4.SetBase (adr, "255.255.0.0"); + free(adr); interfaces.Add(ipv4.Assign (devices)); if(number_of_links == 255){ @@ -214,7 +213,7 @@ void * ns3_add_cluster(char * bw,char * lat,char *id) XBT_DEBUG("Number of nodes in Cluster_nodes: %d",Cluster_nodes.GetN()); } -void * ns3_add_AS(char * id) +void * ns3_add_AS(const char * id) { XBT_DEBUG("Interface ns3 add AS '%s'",id); return NULL; @@ -224,12 +223,10 @@ static char* transformIpv4Address (Ipv4Address from){ std::stringstream sstream; sstream << from ; std::string s = sstream.str(); - size_t size = s.size() + 1; - char* IPaddr = bprintf("%s",s.c_str()); - return IPaddr; + return bprintf("%s",s.c_str()); } -void * ns3_add_link(int src, e_ns3_network_element_type_t type_src, +void ns3_add_link(int src, e_ns3_network_element_type_t type_src, int dst, e_ns3_network_element_type_t type_dst, char * bw,char * lat) { @@ -238,11 +235,8 @@ void * ns3_add_link(int src, e_ns3_network_element_type_t type_src, LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO); } -#ifdef _HAVE_NS3_RED MyPointToPointHelper pointToPoint; -#else - PointToPointHelper pointToPoint; -#endif + NetDeviceContainer netA; Ipv4AddressHelper address; @@ -254,11 +248,7 @@ void * ns3_add_link(int src, e_ns3_network_element_type_t type_src, pointToPoint.SetChannelAttribute ("Delay", StringValue (lat)); //pointToPoint.EnablePcapAll("test_ns3_trace"); //DEBUG -#ifdef _HAVE_NS3_RED netA.Add(pointToPoint.Install (a, type_src, b, type_dst)); -#else - netA.Add(pointToPoint.Install (a, b)); -#endif char * adr = bprintf("%d.%d.0.0",number_of_networks,number_of_links); address.SetBase (adr, "255.255.0.0"); @@ -284,7 +274,7 @@ void * ns3_add_link(int src, e_ns3_network_element_type_t type_src, } } -void * ns3_end_platform(void) +void ns3_end_platform(void) { XBT_DEBUG("InitializeRoutes"); GlobalRouteManager::BuildGlobalRoutingDatabase();