From: Richard Whitehouse Date: Sat, 7 May 2011 14:46:49 +0000 (+0100) Subject: Keep track of bridges in Link Layer Helper, rename node containers to resolve ambiguity X-Git-Url: https://git.richardwhiuk.com/?a=commitdiff_plain;h=ea06fd59bf39cc4769eda7da75c92ca7a1829d5e;p=ns-moose.git Keep track of bridges in Link Layer Helper, rename node containers to resolve ambiguity --- diff --git a/src/helper/link-layer-helper.cc b/src/helper/link-layer-helper.cc index cd39ffa..5f3f816 100644 --- a/src/helper/link-layer-helper.cc +++ b/src/helper/link-layer-helper.cc @@ -84,8 +84,8 @@ LinkLayerHelper::Network LinkLayerHelper::Create(Topology& t){ Network n; - n.bridges.Create(t.bridges); - n.hosts.Create(t.hosts); + n.bridgeNodes.Create(t.bridges); + n.hostNodes.Create(t.hosts); std::map > > portMap; @@ -108,8 +108,8 @@ LinkLayerHelper::Network LinkLayerHelper::Create(Topology& t){ assert(false); } - nc.Add(n.hosts.Get(it->first)); - nc.Add(n.bridges.Get(it->second)); + nc.Add(n.hostNodes.Get(it->first)); + nc.Add(n.bridgeNodes.Get(it->second)); NetDeviceContainer link = csma.Install(nc); @@ -134,8 +134,8 @@ LinkLayerHelper::Network LinkLayerHelper::Create(Topology& t){ assert(false); } - nc.Add(n.bridges.Get(it->first)); - nc.Add(n.bridges.Get(it->second)); + nc.Add(n.bridgeNodes.Get(it->first)); + nc.Add(n.bridgeNodes.Get(it->second)); NetDeviceContainer link = csma.Install(nc); @@ -198,8 +198,8 @@ LinkLayerHelper::Network LinkLayerHelper::Create(Topology& t){ // Create the switch - Ptr bridgeNode = n.bridges.Get(root); - mooseHelper.Install(bridgeNode, n.bridgeDevices[root], MoosePrefixAddress(root), routes); + Ptr bridgeNode = n.bridgeNodes.Get(root); + n.bridges[root] = mooseHelper.Install(bridgeNode, n.bridgeDevices[root], MoosePrefixAddress(root), routes); } @@ -208,8 +208,8 @@ LinkLayerHelper::Network LinkLayerHelper::Create(Topology& t){ // Realtime routing for(long i = 0; i < t.bridges; i ++){ - Ptr bridgeNode = n.bridges.Get(i); - mooseHelper.Install(bridgeNode, n.bridgeDevices[i]); + Ptr bridgeNode = n.bridgeNodes.Get(i); + n.bridges[i] = mooseHelper.Install(bridgeNode, n.bridgeDevices[i]); } } } else { @@ -295,8 +295,8 @@ LinkLayerHelper::Network LinkLayerHelper::Create(Topology& t){ } - Ptr bridgeNode = n.bridges.Get(i); - ethernetHelper.Install(bridgeNode, n.bridgeDevices[i], portsEnabled); + Ptr bridgeNode = n.bridgeNodes.Get(i); + n.bridges[i] = ethernetHelper.Install(bridgeNode, n.bridgeDevices[i], portsEnabled); } @@ -305,15 +305,15 @@ LinkLayerHelper::Network LinkLayerHelper::Create(Topology& t){ for(long i = 0; i < t.bridges; i ++){ - Ptr bridgeNode = n.bridges.Get(i); - ethernetHelper.Install(bridgeNode, n.bridgeDevices[i]); + Ptr bridgeNode = n.bridgeNodes.Get(i); + n.bridges[i] = ethernetHelper.Install(bridgeNode, n.bridgeDevices[i]); } } } // Setup the internet - internet.Install(n.hosts); + internet.Install(n.hostNodes); for(long i = 0; i < t.hosts; i ++){ n.interfaces[i] = ipv4.Assign(n.hostDevices[i]); diff --git a/src/helper/link-layer-helper.h b/src/helper/link-layer-helper.h index d09d4da..affbfd6 100644 --- a/src/helper/link-layer-helper.h +++ b/src/helper/link-layer-helper.h @@ -57,14 +57,18 @@ public: // Contains all the nodes :-) - NodeContainer bridges; - NodeContainer hosts; + NodeContainer bridgeNodes; + NodeContainer hostNodes; - // NetDevices + // CSMA NetDevices std::map bridgeDevices; std::map hostDevices; + // Bridges + + std::map bridges; + // IP Interfaces std::map interfaces; diff --git a/src/simulation/simulation.cc b/src/simulation/simulation.cc index 2f38835..ae14f48 100644 --- a/src/simulation/simulation.cc +++ b/src/simulation/simulation.cc @@ -84,7 +84,7 @@ void setup(LinkLayerHelper::Network& n, Topology& t, std::istream& file){ UdpClientHelper helper(n.interfaces[destination].GetAddress(0), port); helper.SetAttribute("MaxPackets", UintegerValue(packets)); - ApplicationContainer app = helper.Install(n.hosts.Get(source)); + ApplicationContainer app = helper.Install(n.hostNodes.Get(source)); app.Start (Seconds (time)); } @@ -93,7 +93,7 @@ void setup(LinkLayerHelper::Network& n, Topology& t, std::istream& file){ NodeContainer serverNodes; std::map::iterator it; for(it = hosts.begin(); it != hosts.end(); it ++){ - serverNodes.Add(n.hosts.Get(it->first)); + serverNodes.Add(n.hostNodes.Get(it->first)); } UdpServerHelper udpServerHelper (port);