author | Hajime Tazaki <tazaki@sfc.wide.ad.jp> |
Mon, 21 Nov 2016 16:01:12 +0900 | |
changeset 772 | 274220a5a949 |
parent 544 | 9952fad1036b |
permissions | -rw-r--r-- |
544
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
1 |
#include "ns3/core-module.h" |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
2 |
#include "ns3/network-module.h" |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
3 |
#include "ns3/dce-module.h" |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
4 |
#include "ns3/point-to-point-module.h" |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
5 |
#include "ns3/internet-module.h" |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
6 |
#include <fstream> |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
7 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
8 |
using namespace ns3; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
9 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
10 |
static void RunIp (Ptr<Node> node, Time at, std::string str) |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
11 |
{ |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
12 |
DceApplicationHelper process; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
13 |
ApplicationContainer apps; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
14 |
process.SetBinary ("ip"); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
15 |
process.SetStackSize (1<<16); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
16 |
process.ResetArguments(); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
17 |
process.ParseArguments(str.c_str ()); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
18 |
apps = process.Install (node); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
19 |
apps.Start (at); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
20 |
} |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
21 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
22 |
int main (int argc, char *argv[]) |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
23 |
{ |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
24 |
CommandLine cmd; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
25 |
cmd.Parse (argc, argv); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
26 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
27 |
NodeContainer nodes; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
28 |
nodes.Create (2); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
29 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
30 |
NetDeviceContainer devices; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
31 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
32 |
PointToPointHelper p2p; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
33 |
p2p.SetDeviceAttribute ("DataRate", StringValue ("5Gbps")); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
34 |
p2p.SetChannelAttribute ("Delay", StringValue ("1ms")); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
35 |
devices = p2p.Install (nodes); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
36 |
p2p.EnablePcapAll ("dce-sctp-simple"); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
37 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
38 |
DceManagerHelper processManager; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
39 |
processManager.SetTaskManagerAttribute ("FiberManagerType", |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
40 |
StringValue ("UcontextFiberManager")); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
41 |
// processManager.SetLoader ("ns3::DlmLoaderFactory"); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
42 |
processManager.SetNetworkStack("ns3::LinuxSocketFdFactory", "Library", StringValue ("liblinux.so")); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
43 |
LinuxStackHelper stack; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
44 |
stack.Install (nodes); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
45 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
46 |
Ipv4AddressHelper address; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
47 |
address.SetBase ("10.0.0.0", "255.255.255.0"); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
48 |
Ipv4InterfaceContainer interfaces = address.Assign (devices); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
49 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
50 |
processManager.Install (nodes); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
51 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
52 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
53 |
for (int n=0; n < 2; n++) |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
54 |
{ |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
55 |
RunIp (nodes.Get (n), Seconds (0.2), "link show"); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
56 |
RunIp (nodes.Get (n), Seconds (0.3), "route show table all"); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
57 |
RunIp (nodes.Get (n), Seconds (0.4), "addr list"); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
58 |
} |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
59 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
60 |
DceApplicationHelper process; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
61 |
ApplicationContainer apps; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
62 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
63 |
process.SetBinary ("sctp-server"); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
64 |
process.ResetArguments (); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
65 |
process.SetStackSize (1<<16); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
66 |
apps = process.Install (nodes.Get (0)); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
67 |
apps.Start (Seconds (1.0)); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
68 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
69 |
process.SetBinary ("sctp-client"); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
70 |
process.ResetArguments (); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
71 |
process.ParseArguments ("10.0.0.1"); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
72 |
apps = process.Install (nodes.Get (1)); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
73 |
apps.Start (Seconds (1.5)); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
74 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
75 |
Simulator::Stop (Seconds (2000000.0)); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
76 |
Simulator::Run (); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
77 |
Simulator::Destroy (); |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
78 |
|
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
79 |
return 0; |
9952fad1036b
Bug 1827 - Linux SCTP support over DCE
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents:
diff
changeset
|
80 |
} |