From 9c6ffe3aa3583c5bebbb1db9a40e8bac80a1bbe3 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Fri, 5 Sep 2008 20:00:40 -0700 Subject: [PATCH] add AddIpv4Stack, splt functions in independent chunks --- src/internet-stack/internet-stack.cc | 39 +++++++++++++--------------- src/internet-stack/wscript | 1 - 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/internet-stack/internet-stack.cc b/src/internet-stack/internet-stack.cc index 0065cb482..908cc7082 100644 --- a/src/internet-stack/internet-stack.cc +++ b/src/internet-stack/internet-stack.cc @@ -47,8 +47,9 @@ AddArpStack (Ptr node) } static void -AddUdpStack(Ptr node, Ptr ipv4) +AddUdpStack(Ptr node) { + Ptr ipv4 = node->GetObject (); Ptr udp = CreateObject (); udp->SetNode (node); ipv4->Insert (udp); @@ -58,8 +59,9 @@ AddUdpStack(Ptr node, Ptr ipv4) } static void -AddTcpStack(Ptr node, Ptr ipv4) +AddTcpStack(Ptr node) { + Ptr ipv4 = node->GetObject (); Ptr tcp = CreateObject (); tcp->SetNode (node); ipv4->Insert (tcp); @@ -69,8 +71,11 @@ AddTcpStack(Ptr node, Ptr ipv4) } static void -AddIpv4Impl(Ptr node, Ptr ipv4) +AddIpv4Stack(Ptr node) { + Ptr ipv4 = CreateObject (); + ipv4->SetNode (node); + node->AggregateObject (ipv4); Ptr ipv4Impl = CreateObject (); ipv4Impl->SetIpv4 (ipv4); node->AggregateObject (ipv4Impl); @@ -79,22 +84,18 @@ AddIpv4Impl(Ptr node, Ptr ipv4) void AddInternetStack (Ptr node) { - AddArpStack(node); - Ptr ipv4 = CreateObject (); - ipv4->SetNode (node); - - AddUdpStack (node, ipv4); - AddTcpStack (node, ipv4); - - AddIpv4Impl (node, ipv4); - node->AggregateObject (ipv4); + AddArpStack (node); + AddIpv4Stack (node); + AddUdpStack (node); + AddTcpStack (node); } #ifdef NETWORK_SIMULATION_CRADLE static void -AddNscStack(Ptr node, Ptr ipv4, const std::string &soname) +AddNscStack(Ptr node, const std::string &soname) { + Ptr ipv4 = node->GetObject (); Ptr tcp = CreateObject (); tcp->SetNscLibrary(soname); tcp->SetNode (node); @@ -108,15 +109,11 @@ AddNscStack(Ptr node, Ptr ipv4, const std::string &soname) void AddNscInternetStack (Ptr node, const std::string &soname) { - AddArpStack(node); - Ptr ipv4 = CreateObject (); - ipv4->SetNode (node); + AddArpStack (node); + AddIpv4Stack (node); - AddUdpStack (node, ipv4); - AddNscStack (node, ipv4, soname); - - AddIpv4Impl (node, ipv4); - node->AggregateObject (ipv4); + AddUdpStack (node); + AddNscStack (node, soname); } #else void diff --git a/src/internet-stack/wscript b/src/internet-stack/wscript index 8a46b7bab..794c6b147 100644 --- a/src/internet-stack/wscript +++ b/src/internet-stack/wscript @@ -62,7 +62,6 @@ def configure(conf): if arch == 'x86_64' or arch == 'i686' or arch == 'i586' or arch == 'i486' or arch == 'i386': conf.env['NSC_ENABLED'] = 'yes' conf.define('NETWORK_SIMULATION_CRADLE', 1) - conf.write_config_header('ns3/core-config.h') e = conf.create_library_configurator() e.mandatory = True e.name = 'dl'