perf-update.patch
author Hajime Tazaki <tazaki@nict.go.jp>
Thu, 20 Jun 2013 09:56:26 +0900
changeset 26 0fca5307fd86
permissions -rw-r--r--
update a lot

diff --git a/example/dce-cradle-simple.cc b/example/dce-cradle-simple.cc
--- a/example/dce-cradle-simple.cc
+++ b/example/dce-cradle-simple.cc
@@ -63,8 +63,8 @@
   nodes.Create (2);
 
   PointToPointHelper pointToPoint;
-  pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("100Mbps"));
-  pointToPoint.SetChannelAttribute ("Delay", StringValue ("100ms"));
+  pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("1Gbps"));
+  pointToPoint.SetChannelAttribute ("Delay", StringValue ("1ns"));
 
   NetDeviceContainer devices;
   devices = pointToPoint.Install (nodes);
diff --git a/example/dce-iperf.cc b/example/dce-iperf.cc
--- a/example/dce-iperf.cc
+++ b/example/dce-iperf.cc
@@ -31,6 +31,11 @@
 //        in source named Thread.c at line 412 in method named thread_rest
 //        you must add a sleep (1); to break the infinite loop....
 // ===========================================================================
+void
+PrintTcpFlags (std::string key, std::string value)
+{
+  std::cout << key << "=" << value << std::endl;
+}
 int main (int argc, char *argv[])
 {
   bool useKernel = 0;
@@ -46,8 +51,8 @@
   nodes.Create (2);
 
   PointToPointHelper pointToPoint;
-  pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));
-  pointToPoint.SetChannelAttribute ("Delay", StringValue ("1ms"));
+  pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("1Gbps"));
+  pointToPoint.SetChannelAttribute ("Delay", StringValue ("1ns"));
 
   NetDeviceContainer devices;
   devices = pointToPoint.Install (nodes);
@@ -66,6 +71,7 @@
       dceManager.SetNetworkStack ("ns3::LinuxSocketFdFactory", "Library", StringValue ("liblinux.so"));
       LinuxStackHelper stack;
       stack.Install (nodes);
+
 #else
       NS_LOG_ERROR ("Linux kernel stack for DCE is not available. build with dce-linux module.");
       // silently exit
@@ -88,6 +94,32 @@
 
   dceManager.Install (nodes);
 
+  LinuxStackHelper stack;
+#if 0
+      stack.SysctlSet (nodes, ".net.core.rmem_max",
+                       "26214400");
+      stack.SysctlSet (nodes, ".net.core.wmem_max",
+                       "26214400");
+      stack.SysctlSet (nodes, ".net.ipv4.udp_rmem_min",
+                       "4194304");
+      stack.SysctlSet (nodes, ".net.ipv4.udp_wmem_min",
+                       "4194304");
+  LinuxStackHelper::SysctlGet (nodes.Get (0), Seconds (1),
+                               ".net.ipv4.udp_rmem_min", &PrintTcpFlags);
+  LinuxStackHelper::SysctlGet (nodes.Get (0), Seconds (1),
+                               ".net.ipv4.udp_wmem_min", &PrintTcpFlags);
+  LinuxStackHelper::SysctlGet (nodes.Get (0), Seconds (1),
+                               ".net.core.rmem_max", &PrintTcpFlags);
+  LinuxStackHelper::SysctlGet (nodes.Get (0), Seconds (1),
+                               ".net.core.wmem_max", &PrintTcpFlags);
+#endif
+// sysctl -w net.ipv4.tcp_dctcp_enable=1
+// sysctl -w net.ipv4.net.ipv4.tcp_ecn=1
+#if 0
+  stack.SysctlSet (nodes, ".net.ipv4.tcp_dctcp_enable", "1");
+  stack.SysctlSet (nodes, ".net.ipv4.net.ipv4.tcp_ecn", "1");
+#endif
+
   DceApplicationHelper dce;
   ApplicationContainer apps;
 
@@ -101,6 +133,10 @@
   dce.AddArgument ("10.1.1.2");
   dce.AddArgument ("-i");
   dce.AddArgument ("1");
+  //  dce.AddArgument ("-l");
+  //  dce.AddArgument ("64");
+  dce.AddArgument ("-w");
+  dce.AddArgument ("100000");
   dce.AddArgument ("--time");
   dce.AddArgument ("10");
   if (useUdp)
@@ -119,6 +155,10 @@
   dce.ResetArguments ();
   dce.ResetEnvironment ();
   dce.AddArgument ("-s");
+  dce.AddArgument ("-w");
+  dce.AddArgument ("1000000");
+  // dce.AddArgument ("-l");
+  // dce.AddArgument ("64");
   dce.AddArgument ("-P");
   dce.AddArgument ("1");
   if (useUdp)