bgp-caida.patch
author Hajime Tazaki <tazaki@nict.go.jp>
Wed, 11 Apr 2012 12:41:12 +0900
changeset 19 f86f5b19833f
parent 4 b419180b3d13
permissions -rw-r--r--
for umip update
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     1
diff -r 137184880c3b example/dce-quagga-bgpd-caida.cc
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     3
+++ b/example/dce-quagga-bgpd-caida.cc	Tue Jan 24 17:31:19 2012 +0900
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     4
@@ -0,0 +1,159 @@
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     5
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     6
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     7
+#include "ns3/network-module.h"
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     8
+#include "ns3/core-module.h"
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     9
+#include "ns3/internet-module.h"
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    10
+#include "ns3/dce-module.h"
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    11
+#include "ns3/quagga-helper.h"
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    12
+#include "ns3/point-to-point-helper.h"
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    13
+#include "../helper/ipv4-dce-routing-helper.h"
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    14
+#include "ns3/topology-read-module.h"
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    15
+#include <sys/resource.h>
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    16
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    17
+using namespace ns3;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    18
+NS_LOG_COMPONENT_DEFINE ("DceQuaggaBgpd");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    19
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    20
+// Parameters
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    21
+uint32_t nNodes = 2;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    22
+uint32_t stopTime = 6000;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    23
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    24
+static void
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    25
+SetRlimit ()
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    26
+{
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    27
+  int ret;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    28
+  struct rlimit limit;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    29
+  limit.rlim_cur = 1000000;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    30
+  limit.rlim_max = 1000000;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    31
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    32
+  ret = setrlimit(RLIMIT_NOFILE, &limit);
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    33
+  if (ret == -1)
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    34
+    {
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    35
+       perror ("setrlimit");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    36
+    }
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    37
+  return;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    38
+}
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    39
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    40
+static void RunIp (Ptr<Node> node, Time at, std::string str)
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    41
+{
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    42
+  DceApplicationHelper process;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    43
+  ApplicationContainer apps;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    44
+  process.SetBinary ("ip");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    45
+  process.SetStackSize (1<<16);
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    46
+  process.ResetArguments();
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    47
+  process.ParseArguments(str.c_str ());
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    48
+  apps = process.Install (node);
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    49
+  apps.Start (at);
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    50
+}
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    51
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    52
+static void AddAddress (Ptr<Node> node, Time at, const char *name, const char *address)
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    53
+{
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    54
+  std::ostringstream oss;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    55
+  oss << "-f inet addr add " << address << " dev " << name;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    56
+  RunIp (node, at, oss.str ());
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    57
+}
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    58
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    59
+int main (int argc, char *argv[]) {
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    60
+  // 
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    61
+  //  Step 0
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    62
+  //  Node Basic Configuration
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    63
+  // 
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    64
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    65
+  CommandLine cmd;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    66
+  cmd.AddValue ("stopTime", "Time to stop(seconds)", stopTime);
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    67
+  cmd.Parse (argc,argv);
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    68
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    69
+  // 
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    70
+  //  Step 1
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    71
+  //  Node Basic Configuration
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    72
+  // 
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    73
+  Ptr<TopologyReader> inFile = 0;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    74
+  TopologyReaderHelper topoHelp;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    75
+  NodeContainer nodes;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    76
+  
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    77
+  std::string format ("Caida");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    78
+  std::string input ("./asrel-as2500.txt");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    79
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    80
+  topoHelp.SetFileName(input);
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    81
+  topoHelp.SetFileType(format);
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    82
+  inFile = topoHelp.GetTopologyReader();
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    83
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    84
+  if (inFile != 0)
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    85
+    {
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    86
+      nodes = inFile->Read ();
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    87
+    }
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    88
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    89
+  if (nodes.GetN () == 0)
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    90
+    {
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    91
+      NS_LOG_ERROR ("Problems reading node information the topology file. Failing.");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    92
+      return -1;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    93
+    }
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    94
+  if (inFile->LinksSize () == 0)
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    95
+    {
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    96
+      NS_LOG_ERROR ("Problems reading the topology file. Failing.");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    97
+      return -1;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    98
+    }
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    99
+  NS_LOG_INFO ("Caida topology created with " << nodes.GetN () << " nodes and " << 
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   100
+               inFile->LinksSize () << " links (from " << input << ")");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   101
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   102
+  // Address conf In virtual topology
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   103
+  PointToPointHelper p2p;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   104
+  p2p.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   105
+  p2p.SetChannelAttribute ("Delay", StringValue ("2ms"));
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   106
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   107
+  int totlinks = inFile->LinksSize ();
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   108
+  NS_LOG_INFO ("creating node containers");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   109
+  NodeContainer nc[totlinks];
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   110
+  TopologyReader::ConstLinksIterator iter;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   111
+  int i = 0;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   112
+  for ( iter = inFile->LinksBegin (); iter != inFile->LinksEnd (); iter++, i++ )
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   113
+    {
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   114
+      nc[i] = NodeContainer (iter->GetFromNode (), iter->GetToNode ());
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   115
+    }
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   116
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   117
+  DceManagerHelper processManager;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   118
+  processManager.SetLoader ("ns3::DlmLoaderFactory");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   119
+  processManager.SetTaskManagerAttribute ("FiberManagerType", 
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   120
+                                          EnumValue (0));
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   121
+  processManager.SetNetworkStack("ns3::LinuxSocketFdFactory",
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   122
+                                 "Library", StringValue ("libnet-next-2.6.so"));
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   123
+  processManager.Install (nodes);
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   124
+  QuaggaHelper quagga;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   125
+  quagga.EnableBgp (nodes);
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   126
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   127
+  NS_LOG_INFO ("creating net device containers");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   128
+  NetDeviceContainer ndc[totlinks];
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   129
+  for (int i = 0; i < totlinks; i++)
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   130
+    {
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   131
+      ndc[i] = p2p.Install (nc[i]);
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   132
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   133
+#if 0
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   134
+      // IP address configuration
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   135
+      AddAddress (nodes.Get (0), Seconds (0.1), "sim0", "10.0.0.1/24");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   136
+      RunIp (nodes.Get (0), Seconds (0.11), "link set lo up");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   137
+      RunIp (nodes.Get (0), Seconds (0.11), "link set sim0 up");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   138
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   139
+      AddAddress (nodes.Get (1), Seconds (0.1), "sim0", "10.0.0.2/24");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   140
+      RunIp (nodes.Get (1), Seconds (0.11), "link set lo up");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   141
+      RunIp (nodes.Get (1), Seconds (0.11), "link set sim0 up");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   142
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   143
+      quagga.BgpAddNeighbor (nodes.Get (0), "10.0.0.2", quagga.GetAsn(nodes.Get (1)));
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   144
+      quagga.BgpAddNeighbor (nodes.Get (1), "10.0.0.1", quagga.GetAsn(nodes.Get (0)));
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   145
+      quagga.Install (nodes);  
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   146
+#endif
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   147
+    }
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   148
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   149
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   150
+  //  p2p.EnablePcapAll ("dce-quagga-bgpd-caida");
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   151
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   152
+  // 
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   153
+  // Now It's ready to GO!
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   154
+  // 
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   155
+  if (stopTime != 0)
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   156
+    {
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   157
+      Simulator::Stop (Seconds (stopTime));
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   158
+    }
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   159
+  Simulator::Run ();
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   160
+  Simulator::Destroy ();
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   161
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   162
+  return 0;
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   163
+}
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   164
diff -r 137184880c3b wscript
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   165
--- a/wscript	Tue Jan 24 16:33:26 2012 +0900
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   166
+++ b/wscript	Tue Jan 24 17:31:19 2012 +0900
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   167
@@ -266,6 +266,10 @@
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   168
                        target='bin/dce-quagga-ospfd',
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   169
                        source=['example/dce-quagga-ospfd.cc'])
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   170
 
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   171
+    module.add_example(needed = ['core', 'internet', 'dce', 'point-to-point', 'visualizer', 'topology-read'],
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   172
+                       target='bin/dce-quagga-bgpd-caida',
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   173
+                       source=['example/dce-quagga-bgpd-caida.cc'])
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   174
+
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   175
     module.add_example(needed = ['core', 'internet', 'dce', 'point-to-point'],
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   176
                        target='bin/dce-quagga-bgpd',
b419180b3d13 bgp caida example
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   177
                        source=['example/dce-quagga-bgpd.cc'])