preparation for merge with ns-3-dev
authorBorovkova Elena <borovkovaes@iitp.ru>
Wed, 09 Sep 2009 12:19:22 +0400
changeset 5702 6a4ee9687bc9
parent 5701 5bf77106e095
child 5703 9cf2221d92ec
preparation for merge with ns-3-dev
examples/aodv.cc
examples/aodv2.cc
examples/aodv_random_disc.cc
examples/wscript
samples/wscript
src/internet-stack/wscript
--- a/examples/aodv.cc	Thu Aug 27 11:14:39 2009 +0400
+++ b/examples/aodv.cc	Wed Sep 09 12:19:22 2009 +0400
@@ -34,13 +34,6 @@
 
 using namespace ns3;
 
-enum TrafficType
-{
-  PING = 1,
-  UDP = 2,
-  TCP = 3
-};
-
 /**
  * \brief Test script.
  * 
@@ -72,8 +65,6 @@
   double totalTime;
   /// Write per-device PCAP traces if true
   bool pcap;
-  /// Traffic type
-  uint16_t type;
   //\}
   
   ///\name network
@@ -106,8 +97,7 @@
   size (10),
   step (120),
   totalTime (10),
-  pcap (true),
-  type (PING)
+  pcap (true)
 {
 }
 
@@ -121,7 +111,6 @@
   CommandLine cmd;
   
   cmd.AddValue ("pcap", "Write PCAP traces.", pcap);
-  cmd.AddValue ("type", "Traffic type.", type);
   cmd.AddValue ("size", "Number of nodes.", size);
   cmd.AddValue ("time", "Simulation time, s.", totalTime);
   cmd.AddValue ("step", "Grid step, m", step);
@@ -210,83 +199,16 @@
 void
 AodvExample::InstallApplications ()
 {
-  switch (type)
-  {
-    case PING:
-      {
-        V4PingHelper ping (interfaces.GetAddress(size - 1));
-        ping.SetAttribute ("Verbose", BooleanValue (true));
-
-        ApplicationContainer p = ping.Install (nodes.Get (0));
-        p.Start (Seconds (0));
-        p.Stop (Seconds (totalTime));
-        break;
-      }
-    case UDP:
-      {
-        // Create the OnOff application to send UDP datagrams of size
-        // 210 bytes at a rate of 448 Kb/s
-        Config::SetDefault ("ns3::OnOffApplication::PacketSize", UintegerValue (210));
-        Config::SetDefault ("ns3::OnOffApplication::DataRate", DataRateValue (DataRate ("6Mbps")));
-        uint16_t port = 9; // Discard port (RFC 863)
-
-        OnOffHelper onoff ("ns3::UdpSocketFactory",
-            Address (InetSocketAddress (interfaces.GetAddress(size-1), port)));
-        onoff.SetAttribute ("OnTime", RandomVariableValue (ConstantVariable(1)));
-        onoff.SetAttribute ("OffTime", RandomVariableValue (ConstantVariable(0)));
-
-        ApplicationContainer apps = onoff.Install (nodes.Get (0));
-        apps.Start(Seconds(0));
-        apps.Stop (Seconds(totalTime));
+  V4PingHelper ping (interfaces.GetAddress(size - 1));
+  ping.SetAttribute ("Verbose", BooleanValue (true));
+  
+  ApplicationContainer p = ping.Install (nodes.Get (0));
+  p.Start (Seconds (0));
+  p.Stop (Seconds (totalTime));
 
-        // Create an optional packet sink to receive these packets
-        PacketSinkHelper sink ("ns3::UdpSocketFactory",
-            Address (InetSocketAddress (Ipv4Address::GetAny (), port)));
-        for (uint32_t i = 1; i < nodes.GetN (); ++i)
-          {
-            apps.Add(sink.Install (nodes.Get (i)) );
-          }
-        apps.Start (Seconds (0));
-        apps.Stop (Seconds (totalTime));
-        break;
-      }
-    case TCP:
-         {
-           V4PingHelper ping (interfaces.GetAddress(size - 1));
-           ping.SetAttribute ("Verbose", BooleanValue (true));
-
-           ApplicationContainer p = ping.Install (nodes.Get (0));
-           p.Start (Seconds (0));
-           p.Stop (Seconds (totalTime/2));
-
-
-           Config::SetDefault ("ns3::OnOffApplication::PacketSize", UintegerValue (4096));
-           Config::SetDefault ("ns3::OnOffApplication::DataRate", StringValue ("6Mbps"));
-
-           uint16_t port = 8080;
-           PacketSinkHelper sinkHelper ("ns3::TcpSocketFactory", InetSocketAddress (Ipv4Address::GetAny (), port));
-           ApplicationContainer sinkApp = sinkHelper.Install (nodes.Get (size-1));
-           sinkApp.Start (Seconds (totalTime/2));
-           sinkApp.Stop (Seconds (totalTime));
-
-           // Create the OnOff applications to send TCP
-           OnOffHelper clientHelper ("ns3::TcpSocketFactory", Address ());
-           clientHelper.SetAttribute
-               ("OnTime", RandomVariableValue (ConstantVariable (1)));
-           clientHelper.SetAttribute
-               ("OffTime", RandomVariableValue (ConstantVariable (0)));
-
-           ApplicationContainer clientApp;
-           AddressValue remoteAddress
-               (InetSocketAddress (interfaces.GetAddress (size-1), port));
-           clientHelper.SetAttribute ("Remote", remoteAddress);
-           clientApp = clientHelper.Install (nodes.Get (0));
-           clientApp.Start (Seconds (totalTime/2));
-           clientApp.Stop (Seconds (totalTime));
-
-         }
-
-  };
-
+  // move node away
+  Ptr<Node> node = nodes.Get (size/2);
+  Ptr<MobilityModel> mob = node->GetObject<MobilityModel>();
+  Simulator::Schedule (Seconds (totalTime/3), &MobilityModel::SetPosition, mob, Vector(1e5, 1e5, 1e5));
 }
 
--- a/examples/aodv2.cc	Thu Aug 27 11:14:39 2009 +0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/*
- * Copyright (c) 2009 IITP RAS
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * This is an example script for AODV manet routing protocol. 
- *
- * Authors: Pavel Boyko <boyko@iitp.ru>
- */
-
-#include "ns3/aodv-module.h"
-#include "ns3/core-module.h"
-#include "ns3/common-module.h"
-#include "ns3/node-module.h"
-#include "ns3/helper-module.h"
-#include "ns3/mobility-module.h"
-#include "ns3/contrib-module.h"
-#include "ns3/wifi-module.h" 
-#include "ns3/v4ping-helper.h"
-#include <iostream>
-#include <cmath>
-
-using namespace ns3;
-
-/**
- * \brief Test script.
- * 
- * This script creates 1-dimensional grid topology and then ping last node from the first one:
- * 
- * [10.0.0.1] <-- step --> [10.0.0.2] <-- step --> [10.0.0.3] <-- step --> [10.0.04]
- * 
- * ping 10.0.0.4
- */
-class AodvExample 
-{
-public:
-  AodvExample ();
-  /// Configure script parameters, \return true on successful configuration
-  bool Configure (int argc, char **argv);
-  /// Run simulation
-  void Run ();
-  /// Report results
-  void Report (std::ostream & os);
-  
-private:
-  ///\name parameters
-  //\{
-  /// Number of nodes
-  uint32_t size;
-  /// Distance between nodes, meters
-  double step;
-  /// Simulation time, seconds
-  double totalTime;
-  /// Write per-device PCAP traces if true
-  bool pcap;
-  //\}
-  
-  ///\name network
-  //\{
-  NodeContainer nodes;
-  NetDeviceContainer devices;
-  Ipv4InterfaceContainer interfaces;
-  //\}
-  
-private:
-  void CreateNodes ();
-  void CreateDevices ();
-  void InstallInternetStack ();
-  void InstallApplications ();
-};
-
-int main (int argc, char **argv)
-{
-  AodvExample test;
-  if (! test.Configure(argc, argv)) 
-    NS_FATAL_ERROR ("Configuration failed. Aborted.");
-  
-  test.Run ();
-  test.Report (std::cout);
-  return 0;
-}
-
-//-----------------------------------------------------------------------------
-AodvExample::AodvExample () :
-  size (10),
-  step (120),
-  totalTime (10),
-  pcap (true)
-{
-}
-
-bool
-AodvExample::Configure (int argc, char **argv)
-{
-  // Enable AODV logs by default. Comment this if too noisy
-  // LogComponentEnable("AodvRoutingProtocol", LOG_LEVEL_ALL);
-  
-  SeedManager::SetSeed(12345);
-  CommandLine cmd;
-  
-  cmd.AddValue ("pcap", "Write PCAP traces.", pcap);
-  cmd.AddValue ("size", "Number of nodes.", size);
-  cmd.AddValue ("time", "Simulation time, s.", totalTime);
-  cmd.AddValue ("step", "Grid step, m", step);
-  
-  cmd.Parse (argc, argv);
-  return true;
-}
-
-void
-AodvExample::Run ()
-{
-//  Config::SetDefault ("ns3::WifiRemoteStationManager::RtsCtsThreshold", UintegerValue (1)); // enable rts cts all the time.
-  CreateNodes ();
-  CreateDevices ();
-  InstallInternetStack ();
-  InstallApplications ();
-  
-  std::cout << "Starting simulation for " << totalTime << " s ...\n";
-  
-  Simulator::Stop (Seconds (totalTime));
-  Simulator::Run ();
-  Simulator::Destroy ();
-}
-
-void
-AodvExample::Report (std::ostream &)
-{ 
-}
-
-void
-AodvExample::CreateNodes ()
-{
-  std::cout << "Creating " << (unsigned)size << " nodes " << step << " m apart.\n";
-  nodes.Create (size);
-  // Name nodes
-  for (uint32_t i = 0; i < size; ++i)
-     {
-       std::ostringstream os;
-       os << "node-" << i;
-       Names::Add (os.str (), nodes.Get (i));
-     }
-  // Create static grid
-  MobilityHelper mobility;
-  mobility.SetPositionAllocator ("ns3::GridPositionAllocator",
-                                "MinX", DoubleValue (0.0),
-                                "MinY", DoubleValue (0.0),
-                                "DeltaX", DoubleValue (step),
-                                "DeltaY", DoubleValue (0),
-                                "GridWidth", UintegerValue (size),
-                                "LayoutType", StringValue ("RowFirst"));
-  mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
-  mobility.Install (nodes);
-}
-
-void
-AodvExample::CreateDevices ()
-{
-  NqosWifiMacHelper wifiMac = NqosWifiMacHelper::Default ();
-  wifiMac.SetType ("ns3::AdhocWifiMac");
-  YansWifiPhyHelper wifiPhy = YansWifiPhyHelper::Default ();
-  YansWifiChannelHelper wifiChannel = YansWifiChannelHelper::Default ();
-  wifiPhy.SetChannel (wifiChannel.Create ());
-  WifiHelper wifi = WifiHelper::Default ();
-  wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager", "DataMode", StringValue ("wifia-6mbs"), "RtsCtsThreshold", UintegerValue (0));
-  devices = wifi.Install (wifiPhy, wifiMac, nodes); 
-  
-  if (pcap)
-    {
-      wifiPhy.EnablePcapAll (std::string ("aodv"));
-    }
-}
-
-void
-AodvExample::InstallInternetStack ()
-{
-  AodvHelper aodv;
-  // you can configure AODV attributes here using aodv.Set(name, value)
-  InternetStackHelper stack;
-  stack.SetRoutingHelper (aodv);
-  stack.Install (nodes);
-  Ipv4AddressHelper address;
-  address.SetBase ("10.0.0.0", "255.0.0.0");
-  interfaces = address.Assign (devices);
-}
-
-void
-AodvExample::InstallApplications ()
-{
-  V4PingHelper ping (interfaces.GetAddress(size - 1));
-  ping.SetAttribute ("Verbose", BooleanValue (true));
-  
-  ApplicationContainer p = ping.Install (nodes.Get (0));
-  p.Start (Seconds (0));
-  p.Stop (Seconds (totalTime));
-
-  // move node away
-  Ptr<Node> node = nodes.Get (2);
-  Ptr<MobilityModel> mob = node->GetObject<MobilityModel>();
-  Simulator::Schedule (Seconds (3), &MobilityModel::SetPosition, mob, Vector(1e5, 1e5, 1e5));
-}
-
--- a/examples/aodv_random_disc.cc	Thu Aug 27 11:14:39 2009 +0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/*
- * Copyright (c) 2009 IITP RAS
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * This is an example script for AODV manet routing protocol. 
- *
- * Authors: Pavel Boyko <boyko@iitp.ru>
- */
-
-#include "ns3/aodv-module.h"
-#include "ns3/core-module.h"
-#include "ns3/common-module.h"
-#include "ns3/node-module.h"
-#include "ns3/helper-module.h"
-#include "ns3/mobility-module.h"
-#include "ns3/contrib-module.h"
-#include "ns3/wifi-module.h" 
-#include "ns3/v4ping-helper.h"
-#include <iostream>
-#include <cmath>
-
-using namespace ns3;
-
-/**
- * \brief Test script.
- */
-class AodvExample 
-{
-public:
-  AodvExample ();
-  /// Configure script parameters, \return true on successful configuration
-  bool Configure (int argc, char **argv);
-  /// Run simulation
-  void Run ();
-  /// Report results
-  void Report (std::ostream & os);
-  
-private:
-  ///\name parameters
-  //\{
-  /// Number of nodes in disc
-  uint32_t size;
-  /// Radius of disc, meters
-  double radius;
-  /// Simulation time, seconds
-  double totalTime;
-  /// Write per-device PCAP traces if true
-  bool pcap;
-  //\}
-  
-  ///\name network
-  //\{
-  NodeContainer nodes;
-  NodeContainer node1;
-  NetDeviceContainer devices;
-  NetDeviceContainer device1;
-  Ipv4InterfaceContainer interfaces;
-  Ipv4InterfaceContainer interface1;
-  //\}
-  
-private:
-  void CreateNodes ();
-  void CreateDevices ();
-  void InstallInternetStack ();
-  void InstallApplications ();
-};
-
-int main (int argc, char **argv)
-{
-  AodvExample test;
-  if (! test.Configure(argc, argv)) 
-    NS_FATAL_ERROR ("Configuration failed. Aborted.");
-  
-  test.Run ();
-  test.Report (std::cout);
-  return 0;
-}
-
-//-----------------------------------------------------------------------------
-AodvExample::AodvExample () :
-  size (64),
-  radius (50),
-  totalTime (10),
-  pcap (true)
-{
-}
-
-bool
-AodvExample::Configure (int argc, char **argv)
-{
-  // Enable AODV logs by default. Comment this if too noisy
-  // LogComponentEnable("AodvRoutingProtocol", LOG_LEVEL_ALL);
-  
-  SeedManager::SetSeed(12345);
-  CommandLine cmd;
-  
-  cmd.AddValue ("pcap", "Write PCAP traces.", pcap);
-  cmd.AddValue ("size", "Number of nodes.", size);
-  cmd.AddValue ("time", "Simulation time, s.", totalTime);
-  cmd.AddValue ("radius", "Radius of disc, m", radius);
-  
-  cmd.Parse (argc, argv);
-  return true;
-}
-
-void
-AodvExample::Run ()
-{
-  CreateNodes ();
-  CreateDevices ();
-  InstallInternetStack ();
-  InstallApplications ();
-  
-  std::cout << "Starting simulation for " << totalTime << " s ...\n";
-  
-  Simulator::Stop (Seconds (totalTime));
-  Simulator::Run ();
-  Simulator::Destroy ();
-}
-
-void
-AodvExample::Report (std::ostream &)
-{ 
-}
-
-void
-AodvExample::CreateNodes ()
-{
-  std::cout << "Creating " << (unsigned)size << " nodes in disc " << radius << " m.\n";
-  nodes.Create (size);
-  node1.Create(1);
-  // Name nodes
-  for (uint32_t i = 0; i < size; ++i)
-     {
-       std::ostringstream os;
-       os << "node-" << i;
-       Names::Add (os.str (), nodes.Get (i));
-     }
-
-  MobilityHelper mobility;
-  Ptr<RandomDiscPositionAllocator> positionAlloc = CreateObject<RandomDiscPositionAllocator>();
-  positionAlloc->SetRho(UniformVariable (0.0, radius));
-  positionAlloc->SetTheta(UniformVariable (0.0, 6.2830));
-  positionAlloc->SetX(0.0);
-  positionAlloc->SetY(0.0);
-  mobility.SetPositionAllocator(positionAlloc);
-  mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
-  mobility.Install (nodes);
-
-  Ptr<ListPositionAllocator> pos = CreateObject<ListPositionAllocator>();
-  pos->Add(Vector(155.0 + radius, 0.0, 0.0));
-  mobility.SetPositionAllocator(pos);
-  mobility.Install (node1);
-}
-
-void
-AodvExample::CreateDevices ()
-{
-  NqosWifiMacHelper wifiMac = NqosWifiMacHelper::Default ();
-  wifiMac.SetType ("ns3::AdhocWifiMac");
-  YansWifiPhyHelper wifiPhy = YansWifiPhyHelper::Default ();
-  YansWifiChannelHelper wifiChannel = YansWifiChannelHelper::Default ();
-  wifiPhy.SetChannel (wifiChannel.Create ());
-  WifiHelper wifi = WifiHelper::Default ();
-  wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager", "DataMode", StringValue ("wifia-6mbs"));
-  devices = wifi.Install (wifiPhy, wifiMac, nodes); 
-  device1 = wifi.Install (wifiPhy, wifiMac, node1);
-  
-  if (pcap)
-    {
-      wifiPhy.EnablePcapAll (std::string ("aodv"));
-    }
-}
-
-void
-AodvExample::InstallInternetStack ()
-{
-  AodvHelper aodv;
-  // you can configure AODV attributes here using aodv.Set(name, value)
-  InternetStackHelper stack;
-  stack.SetRoutingHelper (aodv);
-  stack.Install (nodes);
-  stack.Install(node1);
-  Ipv4AddressHelper address;
-  address.SetBase ("10.0.0.0", "255.0.0.0");
-  interfaces = address.Assign (devices);
-  interface1 = address.Assign (device1);
-
-}
-
-void
-AodvExample::InstallApplications ()
-{
-  V4PingHelper ping (interface1.GetAddress(0));
-  ping.SetAttribute ("Verbose", BooleanValue (true));
-  
-  ApplicationContainer p = ping.Install (nodes.Get (0));
-  p.Start (Seconds (0));
-  p.Stop (Seconds (totalTime));  
-}
-
--- a/examples/wscript	Thu Aug 27 11:14:39 2009 +0400
+++ b/examples/wscript	Wed Sep 09 12:19:22 2009 +0400
@@ -3,181 +3,198 @@
 def build(bld):
     obj = bld.create_ns3_program('aodv')
     obj.source = 'aodv.cc'
- 
-    obj = bld.create_ns3_program('aodv2')
-    obj.source = 'aodv2.cc'   
     
-    obj = bld.create_ns3_program('aodv_crash')
-    obj.source = 'aodv_random_disc.cc'   
+    obj = bld.create_ns3_program('hello-simulator')
+    obj.source = 'hello-simulator.cc'
+        
+    obj = bld.create_ns3_program('first',
+                                 ['core', 'simulator', 'point-to-point', 'internet-stack'])
+    obj.source = 'first.cc'
+        
+    obj = bld.create_ns3_program('second',
+                                 ['core', 'simulator', 'point-to-point', 'csma', 'internet-stack'])
+    obj.source = 'second.cc'
+        
+    obj = bld.create_ns3_program('third',
+                                 ['core', 'simulator', 'point-to-point', 'csma', 'wifi', 'internet-stack'])
+    obj.source = 'third.cc'
+        
+    obj = bld.create_ns3_program('object-names',
+                                 ['core', 'simulator', 'csma', 'internet-stack'])
+    obj.source = 'object-names.cc'
+        
+    obj = bld.create_ns3_program('mixed-wireless',
+                                 ['core', 'simulator', 'mobility', 'wifi', 'point-to-point', 'internet-stack'])
+    obj.source = 'mixed-wireless.cc'
+
+    obj = bld.create_ns3_program('dynamic-global-routing',
+                                 ['point-to-point', 'csma', 'internet-stack', 'global-routing'])
+    obj.source = 'dynamic-global-routing.cc'
+
+    obj = bld.create_ns3_program('static-routing-slash32',
+                                 ['point-to-point', 'internet-stack', 'global-routing'])
+    obj.source = 'static-routing-slash32.cc'
+
+    obj = bld.create_ns3_program('global-routing-slash32',
+                                 ['point-to-point', 'internet-stack', 'global-routing'])
+    obj.source = 'global-routing-slash32.cc'
+
+    obj = bld.create_ns3_program('global-injection-slash32',
+                                 ['point-to-point', 'internet-stack', 'global-routing'])
+    obj.source = 'global-injection-slash32.cc'
+
+    obj = bld.create_ns3_program('simple-global-routing',
+                                 ['point-to-point', 'internet-stack', 'global-routing'])
+    obj.source = 'simple-global-routing.cc'
+
+    obj = bld.create_ns3_program('virtual-net-device',
+                                 ['point-to-point', 'internet-stack', 'global-routing', 'virtual-net-device'])
+    obj.source = 'virtual-net-device.cc'
+
+    obj = bld.create_ns3_program('simple-alternate-routing',
+                                 ['point-to-point', 'internet-stack', 'global-routing'])
+    obj.source = 'simple-alternate-routing.cc'
+
+    obj = bld.create_ns3_program('simple-error-model',
+                                 ['point-to-point', 'internet-stack'])
+    obj.source = 'simple-error-model.cc'
+
+    obj = bld.create_ns3_program('csma-one-subnet',
+                                 ['csma', 'internet-stack'])
+    obj.source = 'csma-one-subnet.cc'
+
+    obj = bld.create_ns3_program('csma-bridge',
+                                 ['bridge', 'csma', 'internet-stack'])
+    obj.source = 'csma-bridge.cc'
+
+    obj = bld.create_ns3_program('csma-bridge-one-hop',
+                                 ['bridge', 'csma', 'internet-stack'])
+    obj.source = 'csma-bridge-one-hop.cc'
+
+    obj = bld.create_ns3_program('udp-echo',
+                                 ['csma', 'internet-stack'])
+    obj.source = 'udp-echo.cc'
 
-       
-#    obj = bld.create_ns3_program('hello-simulator')
-#    obj.source = 'hello-simulator.cc'
-#        
-#    obj = bld.create_ns3_program('first',
-#                                 ['core', 'simulator', 'point-to-point', 'internet-stack'])
-#    obj.source = 'first.cc'
-#        
-#    obj = bld.create_ns3_program('second',
-#                                 ['core', 'simulator', 'point-to-point', 'csma', 'internet-stack'])
-#    obj.source = 'second.cc'
-#        
-#    obj = bld.create_ns3_program('third',
-#                                 ['core', 'simulator', 'point-to-point', 'csma', 'wifi', 'internet-stack'])
-#    obj.source = 'third.cc'
-#        
-#    obj = bld.create_ns3_program('object-names',
-#                                 ['core', 'simulator', 'csma', 'internet-stack'])
-#    obj.source = 'object-names.cc'
-#        
-#    obj = bld.create_ns3_program('mixed-wireless',
-#                                 ['core', 'simulator', 'mobility', 'wifi', 'point-to-point', 'internet-stack'])
-#    obj.source = 'mixed-wireless.cc'
-#
-#    obj = bld.create_ns3_program('dynamic-global-routing',
-#                                 ['point-to-point', 'csma', 'internet-stack', 'global-routing'])
-#    obj.source = 'dynamic-global-routing.cc'
-#
-#    obj = bld.create_ns3_program('static-routing-slash32',
-#                                 ['point-to-point', 'internet-stack', 'global-routing'])
-#    obj.source = 'static-routing-slash32.cc'
-#
-#    obj = bld.create_ns3_program('global-routing-slash32',
-#                                 ['point-to-point', 'internet-stack', 'global-routing'])
-#    obj.source = 'global-routing-slash32.cc'
-#
-#    obj = bld.create_ns3_program('simple-global-routing',
-#                                 ['point-to-point', 'internet-stack', 'global-routing'])
-#    obj.source = 'simple-global-routing.cc'
-#
-#    obj = bld.create_ns3_program('virtual-net-device',
-#                                 ['point-to-point', 'internet-stack', 'global-routing', 'virtual-net-device'])
-#    obj.source = 'virtual-net-device.cc'
-#
-#    obj = bld.create_ns3_program('simple-alternate-routing',
-#                                 ['point-to-point', 'internet-stack', 'global-routing'])
-#    obj.source = 'simple-alternate-routing.cc'
-#
-#    obj = bld.create_ns3_program('simple-error-model',
-#                                 ['point-to-point', 'internet-stack'])
-#    obj.source = 'simple-error-model.cc'
-#
-#    obj = bld.create_ns3_program('csma-one-subnet',
-#                                 ['csma', 'internet-stack'])
-#    obj.source = 'csma-one-subnet.cc'
-#
-#    obj = bld.create_ns3_program('csma-bridge',
-#                                 ['bridge', 'csma', 'internet-stack'])
-#    obj.source = 'csma-bridge.cc'
-#
-#    obj = bld.create_ns3_program('csma-bridge-one-hop',
-#                                 ['bridge', 'csma', 'internet-stack'])
-#    obj.source = 'csma-bridge-one-hop.cc'
-#
-#    obj = bld.create_ns3_program('udp-echo',
-#                                 ['csma', 'internet-stack'])
-#    obj.source = 'udp-echo.cc'
-#
-#    obj = bld.create_ns3_program('realtime-udp-echo',
-#                                 ['csma', 'internet-stack'])
-#    obj.source = 'realtime-udp-echo.cc'
-#
-#    obj = bld.create_ns3_program('csma-broadcast',
-#                                 ['csma', 'internet-stack'])
-#    obj.source = 'csma-broadcast.cc'
-#
-#    obj = bld.create_ns3_program('csma-packet-socket',
-#                                 ['csma', 'internet-stack'])
-#    obj.source = 'csma-packet-socket.cc'
-#
-#    obj = bld.create_ns3_program('csma-multicast',
-#                                 ['csma', 'internet-stack'])
-#    obj.source = 'csma-multicast.cc'
-#
-#    obj = bld.create_ns3_program( 'mixed-global-routing',
-#                                  ['point-to-point', 'internet-stack', 'global-routing' , 'csma-cd'])
-#    obj.source = 'mixed-global-routing.cc'
-#
-#    obj = bld.create_ns3_program('simple-point-to-point-olsr',
-#                                 ['point-to-point', 'internet-stack', 'olsr'])
-#    obj.source = 'simple-point-to-point-olsr.cc'
-#
-#    obj = bld.create_ns3_program('tcp-large-transfer',
-#                                 ['point-to-point', 'internet-stack'])
-#    obj.source = 'tcp-large-transfer.cc'
-#
-#    obj = bld.create_ns3_program('tcp-nsc-lfn',
-#                                 ['point-to-point', 'internet-stack'])
-#    obj.source = 'tcp-nsc-lfn.cc'
-#
-#    obj = bld.create_ns3_program('tcp-nsc-zoo',
-#                                 ['csma', 'internet-stack'])
-#    obj.source = 'tcp-nsc-zoo.cc'
-#
-#    obj = bld.create_ns3_program('tcp-star-server',
-#                                 ['point-to-point', 'internet-stack'])
-#    obj.source = 'tcp-star-server.cc'
-#
-#    obj = bld.create_ns3_program('star',
-#                                 ['point-to-point', 'internet-stack'])
-#    obj.source = 'star.cc'
-#
-#    obj = bld.create_ns3_program('csma-star',
-#                                 ['csma', 'internet-stack'])
-#    obj.source = 'csma-star.cc'
-#
-#    obj = bld.create_ns3_program('wifi-adhoc',
-#                                 ['core', 'simulator', 'mobility', 'wifi'])
-#    obj.source = 'wifi-adhoc.cc'
-#
-#    obj = bld.create_ns3_program('wifi-clear-channel-cmu',
-#                                 ['core', 'simulator', 'mobility', 'wifi'])
-#    obj.source = 'wifi-clear-channel-cmu.cc'
-#
-#    obj = bld.create_ns3_program('wifi-ap',
-#                                 ['core', 'simulator', 'mobility', 'wifi'])
-#    obj.source = 'wifi-ap.cc'
-#
-#    bld.add_subdirs('stats')
-#
-#    obj = bld.create_ns3_program('wifi-wired-bridging',
-#                                 ['core', 'simulator', 'mobility', 'wifi', 
-#                                  'csma', 'helper', 'bridge'])
-#    obj.source = 'wifi-wired-bridging.cc'
-#
-#    obj = bld.create_ns3_program('csma-raw-ip-socket',
-#        ['csma', 'internet-stack'])
-#    obj.source = 'csma-raw-ip-socket.cc'
-#
+    obj = bld.create_ns3_program('realtime-udp-echo',
+                                 ['csma', 'internet-stack'])
+    obj.source = 'realtime-udp-echo.cc'
+
+    obj = bld.create_ns3_program('csma-broadcast',
+                                 ['csma', 'internet-stack'])
+    obj.source = 'csma-broadcast.cc'
+
+    obj = bld.create_ns3_program('csma-packet-socket',
+                                 ['csma', 'internet-stack'])
+    obj.source = 'csma-packet-socket.cc'
+
+    obj = bld.create_ns3_program('csma-multicast',
+                                 ['csma', 'internet-stack'])
+    obj.source = 'csma-multicast.cc'
+
+    obj = bld.create_ns3_program( 'mixed-global-routing',
+                                  ['point-to-point', 'internet-stack', 'global-routing' , 'csma-cd'])
+    obj.source = 'mixed-global-routing.cc'
+
+    obj = bld.create_ns3_program('simple-point-to-point-olsr',
+                                 ['point-to-point', 'internet-stack', 'olsr'])
+    obj.source = 'simple-point-to-point-olsr.cc'
+
+    obj = bld.create_ns3_program('tcp-large-transfer',
+                                 ['point-to-point', 'internet-stack'])
+    obj.source = 'tcp-large-transfer.cc'
+
+    obj = bld.create_ns3_program('tcp-nsc-lfn',
+                                 ['point-to-point', 'internet-stack'])
+    obj.source = 'tcp-nsc-lfn.cc'
+
+    obj = bld.create_ns3_program('tcp-nsc-zoo',
+                                 ['csma', 'internet-stack'])
+    obj.source = 'tcp-nsc-zoo.cc'
+
+    obj = bld.create_ns3_program('tcp-star-server',
+                                 ['point-to-point', 'internet-stack'])
+    obj.source = 'tcp-star-server.cc'
+
+    obj = bld.create_ns3_program('star',
+                                 ['point-to-point', 'internet-stack'])
+    obj.source = 'star.cc'
+
+    obj = bld.create_ns3_program('csma-star',
+                                 ['csma', 'internet-stack'])
+    obj.source = 'csma-star.cc'
+
+    obj = bld.create_ns3_program('wifi-adhoc',
+                                 ['core', 'simulator', 'mobility', 'wifi'])
+    obj.source = 'wifi-adhoc.cc'
+
+    obj = bld.create_ns3_program('wifi-clear-channel-cmu',
+                                 ['core', 'simulator', 'mobility', 'wifi'])
+    obj.source = 'wifi-clear-channel-cmu.cc'
+
+    obj = bld.create_ns3_program('wifi-ap',
+                                 ['core', 'simulator', 'mobility', 'wifi'])
+    obj.source = 'wifi-ap.cc'
+
+    bld.add_subdirs('stats')
+
+    obj = bld.create_ns3_program('wifi-wired-bridging',
+                                 ['core', 'simulator', 'mobility', 'wifi', 
+                                  'csma', 'helper', 'bridge'])
+    obj.source = 'wifi-wired-bridging.cc'
+
+    obj = bld.create_ns3_program('csma-raw-ip-socket',
+        ['csma', 'internet-stack'])
+    obj.source = 'csma-raw-ip-socket.cc'
+
     obj = bld.create_ns3_program('csma-ping',
         ['csma', 'internet-stack', 'v4ping'])
     obj.source = 'csma-ping.cc'
 
-#    obj = bld.create_ns3_program('test-ipv6',
-#      ['point-to-point', 'internet-stack'])
-#    obj.source = 'test-ipv6.cc'
-#
-#    env = bld.env_of_name('default')
-#    if env['ENABLE_EMU']:
-#        obj = bld.create_ns3_program('emu-udp-echo', ['emu', 'internet-stack'])
-#        obj.source = 'emu-udp-echo.cc'
-#
-#        obj = bld.create_ns3_program('emu-ping', ['emu', 'internet-stack'])
-#        obj.source = 'emu-ping.cc'
-#
-#    if env['ENABLE_TAP']:
-#        obj = bld.create_ns3_program('tap-wifi-dumbbell',
-#                                     ['wifi', 'csma', 'point-to-point', 'tap-bridge', 'internet-stack'])
-#        obj.source = 'tap-wifi-dumbbell.cc'
-#
-#    obj = bld.create_ns3_program('simple-wifi-frame-aggregation',
-#                                 ['core', 'simulator', 'mobility', 'wifi'])
-#    obj.source = 'simple-wifi-frame-aggregation.cc'
-#
-#    obj = bld.create_ns3_program('multi-rate-first',
-#                                 ['core', 'simulator', 'mobility', 'wifi'])
-#    obj.source = 'multi-rate-first.cc'
-#
-#    obj = bld.create_ns3_program('multi-rate-second',
-#                                 ['core', 'simulator', 'mobility', 'wifi'])
-#    obj.source = 'multi-rate-second.cc'
+    obj = bld.create_ns3_program('test-ipv6',
+      ['point-to-point', 'internet-stack'])
+    obj.source = 'test-ipv6.cc'
+
+    obj = bld.create_ns3_program('ping6',
+      ['csma', 'internet-stack'])
+    obj.source = 'ping6.cc'
+
+    obj = bld.create_ns3_program('simple-routing-ping6',
+      ['csma', 'internet-stack'])
+    obj.source = 'simple-routing-ping6.cc'
+
+    obj = bld.create_ns3_program('icmpv6-redirect',
+      ['csma', 'internet-stack'])
+    obj.source = 'icmpv6-redirect.cc'
+
+    obj = bld.create_ns3_program('radvd',
+      ['csma', 'internet-stack'])
+    obj.source = 'radvd.cc'
+
+    obj = bld.create_ns3_program('radvd-two-prefix',
+      ['csma', 'internet-stack'])
+    obj.source = 'radvd-two-prefix.cc'
+
+    env = bld.env_of_name('default')
+    if env['ENABLE_EMU']:
+        obj = bld.create_ns3_program('emu-udp-echo', ['emu', 'internet-stack'])
+        obj.source = 'emu-udp-echo.cc'
+
+        obj = bld.create_ns3_program('emu-ping', ['emu', 'internet-stack'])
+        obj.source = 'emu-ping.cc'
+
+    if env['ENABLE_TAP']:
+        obj = bld.create_ns3_program('tap-wifi-dumbbell',
+                                     ['wifi', 'csma', 'point-to-point', 'tap-bridge', 'internet-stack'])
+        obj.source = 'tap-wifi-dumbbell.cc'
+
+    obj = bld.create_ns3_program('simple-wifi-frame-aggregation',
+                                 ['core', 'simulator', 'mobility', 'wifi'])
+    obj.source = 'simple-wifi-frame-aggregation.cc'
+
+    obj = bld.create_ns3_program('multi-rate-first',
+                                 ['core', 'simulator', 'mobility', 'wifi'])
+    obj.source = 'multi-rate-first.cc'
+
+    obj = bld.create_ns3_program('multi-rate-second',
+                                 ['core', 'simulator', 'mobility', 'wifi'])
+    obj.source = 'multi-rate-second.cc'
--- a/samples/wscript	Thu Aug 27 11:14:39 2009 +0400
+++ b/samples/wscript	Wed Sep 09 12:19:22 2009 +0400
@@ -1,57 +1,56 @@
 ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
 
 def build(bld):
-     print "Don't want to build samples"
-#    obj = bld.create_ns3_program('main-attribute-value')
-#    obj.source = 'main-attribute-value.cc'
-#
-#    obj = bld.create_ns3_program('main-callback')
-#    obj.source = 'main-callback.cc'
-#
-#    obj = bld.create_ns3_program('main-simulator')
-#    obj.source = 'main-simulator.cc'
-#
-#    obj = bld.create_ns3_program('main-ptr')
-#    obj.source = 'main-ptr.cc'
-#
-#    obj = bld.create_ns3_program('main-random-variable')
-#    obj.source = 'main-random-variable.cc'
-#
-#    obj = bld.create_ns3_program('main-packet-header', ['common', 'simulator'])
-#    obj.source = 'main-packet-header.cc'
-#
-#    obj = bld.create_ns3_program('main-packet-tag', ['common', 'simulator'])
-#    obj.source = 'main-packet-tag.cc'
-#
-#    obj = bld.create_ns3_program('main-test')
-#    obj.source = 'main-test.cc'
-#
-#    if bld.env['ENABLE_THREADING'] and bld.env["ENABLE_REAL_TIME"]:
-#        obj = bld.create_ns3_program('main-test-sync')
-#        obj.source = 'main-test-sync.cc'
-#
-#    obj = bld.create_ns3_program('main-simple',
-#                                 ['node', 'internet-stack', 'onoff'])
-#    obj.source = 'main-simple.cc'
-#
-#    obj = bld.create_ns3_program('main-grid-topology',
-#                                 ['core', 'simulator', 'mobility', 'internet-stack'])
-#    obj.source = 'main-grid-topology.cc'
-#
-#    obj = bld.create_ns3_program('main-random-topology',
-#                                 ['core', 'simulator', 'mobility'])
-#    obj.source = 'main-random-topology.cc'
-#    
-#    obj = bld.create_ns3_program('main-random-walk',
-#                                 ['core', 'simulator', 'mobility'])
-#    obj.source = 'main-random-walk.cc'
-#
-#    obj = bld.create_ns3_program('main-propagation-loss',
-#                                 ['core', 'simulator', 'mobility', 'wifi'])
-#    obj.source = 'main-propagation-loss.cc'
-#
-#    obj = bld.create_ns3_program('main-ns2-mob',
-#                                 ['core', 'simulator', 'mobility', 'wifi'])
-#    obj.source = 'main-ns2-mob.cc'
+    obj = bld.create_ns3_program('main-attribute-value')
+    obj.source = 'main-attribute-value.cc'
+
+    obj = bld.create_ns3_program('main-callback')
+    obj.source = 'main-callback.cc'
+
+    obj = bld.create_ns3_program('main-simulator')
+    obj.source = 'main-simulator.cc'
+
+    obj = bld.create_ns3_program('main-ptr')
+    obj.source = 'main-ptr.cc'
+
+    obj = bld.create_ns3_program('main-random-variable')
+    obj.source = 'main-random-variable.cc'
+
+    obj = bld.create_ns3_program('main-packet-header', ['common', 'simulator'])
+    obj.source = 'main-packet-header.cc'
+
+    obj = bld.create_ns3_program('main-packet-tag', ['common', 'simulator'])
+    obj.source = 'main-packet-tag.cc'
+
+    obj = bld.create_ns3_program('main-test')
+    obj.source = 'main-test.cc'
+
+    if bld.env['ENABLE_THREADING'] and bld.env["ENABLE_REAL_TIME"]:
+        obj = bld.create_ns3_program('main-test-sync')
+        obj.source = 'main-test-sync.cc'
+
+    obj = bld.create_ns3_program('main-simple',
+                                 ['node', 'internet-stack', 'onoff'])
+    obj.source = 'main-simple.cc'
+
+    obj = bld.create_ns3_program('main-grid-topology',
+                                 ['core', 'simulator', 'mobility', 'internet-stack'])
+    obj.source = 'main-grid-topology.cc'
+
+    obj = bld.create_ns3_program('main-random-topology',
+                                 ['core', 'simulator', 'mobility'])
+    obj.source = 'main-random-topology.cc'
+    
+    obj = bld.create_ns3_program('main-random-walk',
+                                 ['core', 'simulator', 'mobility'])
+    obj.source = 'main-random-walk.cc'
+
+    obj = bld.create_ns3_program('main-propagation-loss',
+                                 ['core', 'simulator', 'mobility', 'wifi'])
+    obj.source = 'main-propagation-loss.cc'
+
+    obj = bld.create_ns3_program('main-ns2-mob',
+                                 ['core', 'simulator', 'mobility', 'wifi'])
+    obj.source = 'main-ns2-mob.cc'
 
 
--- a/src/internet-stack/wscript	Thu Aug 27 11:14:39 2009 +0400
+++ b/src/internet-stack/wscript	Wed Sep 09 12:19:22 2009 +0400
@@ -99,6 +99,18 @@
         'icmpv4.cc',
         'icmpv4-l4-protocol.cc',
         'loopback-net-device.cc',
+        'ipv6-interface.cc',
+        'ndisc-cache.cc',
+        'icmpv6-header.cc',
+        'ipv6-l3-protocol.cc',
+        'ipv6-end-point.cc',
+        'ipv6-end-point-demux.cc',
+        'ipv6-l4-protocol.cc',
+        'ipv6-raw-socket-factory-impl.cc',
+        'ipv6-raw-socket-impl.cc',
+        'ipv6-autoconfigured-prefix.cc',
+        'icmpv6-l4-protocol.cc',
+        'ipv6-test.cc'
         ]
 
     headers = bld.new_task_gen('ns3header')
@@ -108,12 +120,18 @@
         'tcp-header.h',
         'sequence-number.h',
         'icmpv4.h',
+        'icmpv6-header.h',
         # used by routing
         'ipv4-interface.h', 
         'ipv4-l3-protocol.h',
+        'arp-l3-protocol.h',
+        'udp-l4-protocol.h',
+        'tcp-l4-protocol.h',
+        'icmpv4-l4-protocol.h',
+        'ipv4-l4-protocol.h',
         'arp-cache.h',
-        'sgi-hashmap.h',
-        ]
+       ]
+        
 
     if bld.env['NSC_ENABLED']:
         obj.source.append ('nsc-tcp-socket-impl.cc')