author | Gustavo J. A. M. Carneiro <gjc@inescporto.pt> |
Fri, 03 Jul 2009 14:12:28 +0100 | |
changeset 4649 | 189238bfdc7f |
parent 4473 | 39ac17168023 |
permissions | -rw-r--r-- |
4012
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
1 |
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
2 |
/* |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
3 |
* This program is free software; you can redistribute it and/or modify |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
4 |
* it under the terms of the GNU General Public License version 2 as |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
5 |
* published by the Free Software Foundation; |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
6 |
* |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
7 |
* This program is distributed in the hope that it will be useful, |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
8 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
9 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
10 |
* GNU General Public License for more details. |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
11 |
* |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
12 |
* You should have received a copy of the GNU General Public License |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
13 |
* along with this program; if not, write to the Free Software |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
14 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
15 |
* |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
16 |
*/ |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
17 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
18 |
// Test program for this 3-router scenario, using static routing |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
19 |
// |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
20 |
// (a.a.a.a/32)A<--x.x.x.0/30-->B<--y.y.y.0/30-->C(c.c.c.c/32) |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
21 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
22 |
#include <iostream> |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
23 |
#include <fstream> |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
24 |
#include <string> |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
25 |
#include <cassert> |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
26 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
27 |
#include "ns3/csma-net-device.h" |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
28 |
#include "ns3/core-module.h" |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
29 |
#include "ns3/simulator-module.h" |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
30 |
#include "ns3/node-module.h" |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
31 |
#include "ns3/helper-module.h" |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
32 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
33 |
using namespace ns3; |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
34 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
35 |
NS_LOG_COMPONENT_DEFINE ("StaticRoutingSlash32Test"); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
36 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
37 |
int |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
38 |
main (int argc, char *argv[]) |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
39 |
{ |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
40 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
41 |
// Allow the user to override any of the defaults and the above |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
42 |
// DefaultValue::Bind ()s at run-time, via command-line arguments |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
43 |
CommandLine cmd; |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
44 |
cmd.Parse (argc, argv); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
45 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
46 |
Ptr<Node> nA = CreateObject<Node> (); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
47 |
Ptr<Node> nB = CreateObject<Node> (); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
48 |
Ptr<Node> nC = CreateObject<Node> (); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
49 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
50 |
NodeContainer c = NodeContainer (nA, nB, nC); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
51 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
52 |
InternetStackHelper internet; |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
53 |
internet.Install (c); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
54 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
55 |
// Point-to-point links |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
56 |
NodeContainer nAnB = NodeContainer (nA, nB); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
57 |
NodeContainer nBnC = NodeContainer (nB, nC); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
58 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
59 |
// We create the channels first without any IP addressing information |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
60 |
PointToPointHelper p2p; |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
61 |
p2p.SetDeviceAttribute ("DataRate", StringValue ("5Mbps")); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
62 |
p2p.SetChannelAttribute ("Delay", StringValue ("2ms")); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
63 |
NetDeviceContainer dAdB = p2p.Install (nAnB); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
64 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
65 |
NetDeviceContainer dBdC = p2p.Install (nBnC);; |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
66 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
67 |
Ptr<CsmaNetDevice> deviceA = CreateObject<CsmaNetDevice> (); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
68 |
deviceA->SetAddress (Mac48Address::Allocate ()); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
69 |
nA->AddDevice (deviceA); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
70 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
71 |
Ptr<CsmaNetDevice> deviceC = CreateObject<CsmaNetDevice> (); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
72 |
deviceC->SetAddress (Mac48Address::Allocate ()); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
73 |
nC->AddDevice (deviceC); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
74 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
75 |
// Later, we add IP addresses. |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
76 |
Ipv4AddressHelper ipv4; |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
77 |
ipv4.SetBase ("10.1.1.0", "255.255.255.252"); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
78 |
Ipv4InterfaceContainer iAiB = ipv4.Assign (dAdB); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
79 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
80 |
ipv4.SetBase ("10.1.1.4", "255.255.255.252"); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
81 |
Ipv4InterfaceContainer iBiC = ipv4.Assign (dBdC); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
82 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
83 |
Ptr<Ipv4> ipv4A = nA->GetObject<Ipv4> (); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
84 |
Ptr<Ipv4> ipv4B = nB->GetObject<Ipv4> (); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
85 |
Ptr<Ipv4> ipv4C = nC->GetObject<Ipv4> (); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
86 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
87 |
int32_t ifIndexA = ipv4A->AddInterface (deviceA); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
88 |
int32_t ifIndexC = ipv4C->AddInterface (deviceC); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
89 |
|
4375
db81fdcb06e7
Implementation cut over to use Ipv4InterfaceAddress
Tom Henderson <tomh@tomh.org>
parents:
4225
diff
changeset
|
90 |
Ipv4InterfaceAddress ifInAddrA = Ipv4InterfaceAddress (Ipv4Address ("172.16.1.1"), Ipv4Mask ("255.255.255.255")); |
db81fdcb06e7
Implementation cut over to use Ipv4InterfaceAddress
Tom Henderson <tomh@tomh.org>
parents:
4225
diff
changeset
|
91 |
ipv4A->AddAddress (ifIndexA, ifInAddrA); |
4012
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
92 |
ipv4A->SetMetric (ifIndexA, 1); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
93 |
ipv4A->SetUp (ifIndexA); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
94 |
|
4375
db81fdcb06e7
Implementation cut over to use Ipv4InterfaceAddress
Tom Henderson <tomh@tomh.org>
parents:
4225
diff
changeset
|
95 |
Ipv4InterfaceAddress ifInAddrC = Ipv4InterfaceAddress (Ipv4Address ("192.168.1.1"), Ipv4Mask ("255.255.255.255")); |
db81fdcb06e7
Implementation cut over to use Ipv4InterfaceAddress
Tom Henderson <tomh@tomh.org>
parents:
4225
diff
changeset
|
96 |
ipv4C->AddAddress (ifIndexC, ifInAddrC); |
4012
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
97 |
ipv4C->SetMetric (ifIndexC, 1); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
98 |
ipv4C->SetUp (ifIndexC); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
99 |
|
4473
39ac17168023
examples/ changes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents:
4375
diff
changeset
|
100 |
Ipv4StaticRoutingHelper ipv4RoutingHelper; |
4012
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
101 |
// Create static routes from A to C |
4473
39ac17168023
examples/ changes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents:
4375
diff
changeset
|
102 |
Ptr<Ipv4StaticRouting> staticRoutingA = ipv4RoutingHelper.GetStaticRouting (ipv4A); |
4012
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
103 |
// The ifIndex for this outbound route is 1; the first p2p link added |
4473
39ac17168023
examples/ changes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents:
4375
diff
changeset
|
104 |
staticRoutingA->AddHostRouteTo (Ipv4Address ("192.168.1.1"), Ipv4Address ("10.1.1.2"), 1); |
39ac17168023
examples/ changes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents:
4375
diff
changeset
|
105 |
Ptr<Ipv4StaticRouting> staticRoutingB = ipv4RoutingHelper.GetStaticRouting (ipv4B); |
4012
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
106 |
// The ifIndex we want on node B is 2; 0 corresponds to loopback, and 1 to the first point to point link |
4473
39ac17168023
examples/ changes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents:
4375
diff
changeset
|
107 |
staticRoutingB->AddHostRouteTo (Ipv4Address ("192.168.1.1"), Ipv4Address ("10.1.1.6"), 2); |
4012
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
108 |
// Create the OnOff application to send UDP datagrams of size |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
109 |
// 210 bytes at a rate of 448 Kb/s |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
110 |
uint16_t port = 9; // Discard port (RFC 863) |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
111 |
OnOffHelper onoff ("ns3::UdpSocketFactory", |
4375
db81fdcb06e7
Implementation cut over to use Ipv4InterfaceAddress
Tom Henderson <tomh@tomh.org>
parents:
4225
diff
changeset
|
112 |
Address (InetSocketAddress (ifInAddrC.GetLocal (), port))); |
4012
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
113 |
onoff.SetAttribute ("OnTime", RandomVariableValue (ConstantVariable (1))); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
114 |
onoff.SetAttribute ("OffTime", RandomVariableValue (ConstantVariable (0))); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
115 |
onoff.SetAttribute ("DataRate", DataRateValue (DataRate (6000))); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
116 |
ApplicationContainer apps = onoff.Install (nA); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
117 |
apps.Start (Seconds (1.0)); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
118 |
apps.Stop (Seconds (10.0)); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
119 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
120 |
// Create a packet sink to receive these packets |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
121 |
PacketSinkHelper sink ("ns3::UdpSocketFactory", |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
122 |
Address (InetSocketAddress (Ipv4Address::GetAny (), port))); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
123 |
apps = sink.Install (nC); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
124 |
apps.Start (Seconds (1.0)); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
125 |
apps.Stop (Seconds (10.0)); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
126 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
127 |
std::ofstream ascii; |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
128 |
ascii.open ("static-routing-slash32.tr"); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
129 |
PointToPointHelper::EnablePcapAll ("static-routing-slash32"); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
130 |
PointToPointHelper::EnableAsciiAll (ascii); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
131 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
132 |
Simulator::Run (); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
133 |
Simulator::Destroy (); |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
134 |
|
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
135 |
return 0; |
7dc122811f0c
add dynamic global routing example script
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
136 |
} |