1.1 --- a/examples/csma-broadcast.cc Mon Mar 31 16:31:34 2008 -0700
1.2 +++ b/examples/csma-broadcast.cc Mon Mar 31 17:48:21 2008 -0700
1.3 @@ -47,30 +47,12 @@
1.4 // for selected modules; the below lines suggest how to do this
1.5 #if 0
1.6 LogComponentEnable ("CsmaBroadcastExample", LOG_LEVEL_INFO);
1.7 -
1.8 - LogComponentEnable("Object", LOG_LEVEL_ALL);
1.9 - LogComponentEnable("Queue", LOG_LEVEL_ALL);
1.10 - LogComponentEnable("DropTailQueue", LOG_LEVEL_ALL);
1.11 - LogComponentEnable("Channel", LOG_LEVEL_ALL);
1.12 - LogComponentEnable("CsmaChannel", LOG_LEVEL_ALL);
1.13 - LogComponentEnable("NetDevice", LOG_LEVEL_ALL);
1.14 - LogComponentEnable("CsmaNetDevice", LOG_LEVEL_ALL);
1.15 - LogComponentEnable("Ipv4L3Protocol", LOG_LEVEL_ALL);
1.16 - LogComponentEnable("PacketSocket", LOG_LEVEL_ALL);
1.17 - LogComponentEnable("Socket", LOG_LEVEL_ALL);
1.18 - LogComponentEnable("UdpSocket", LOG_LEVEL_ALL);
1.19 - LogComponentEnable("UdpL4Protocol", LOG_LEVEL_ALL);
1.20 - LogComponentEnable("Ipv4L3Protocol", LOG_LEVEL_ALL);
1.21 - LogComponentEnable("Ipv4StaticRouting", LOG_LEVEL_ALL);
1.22 - LogComponentEnable("Ipv4Interface", LOG_LEVEL_ALL);
1.23 - LogComponentEnable("ArpIpv4Interface", LOG_LEVEL_ALL);
1.24 - LogComponentEnable("Ipv4LoopbackInterface", LOG_LEVEL_ALL);
1.25 - LogComponentEnable("OnOffApplication", LOG_LEVEL_ALL);
1.26 - // Enable the below logging command to see the packets being received
1.27 - LogComponentEnable("PacketSinkApplication", LOG_LEVEL_ALL);
1.28 #endif
1.29
1.30 - // Set up some default values for the simulation. Use the Bind()
1.31 + //
1.32 + // Make the random number generators generate reproducible results.
1.33 + //
1.34 + RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
1.35
1.36 // Allow the user to override any of the defaults and the above
1.37 // Bind()s at run-time, via command-line arguments
2.1 --- a/examples/csma-multicast.cc Mon Mar 31 16:31:34 2008 -0700
2.2 +++ b/examples/csma-multicast.cc Mon Mar 31 17:48:21 2008 -0700
2.3 @@ -50,6 +50,11 @@
2.4 // LogComponentEnable ("CsmaMulticastExample", LOG_LEVEL_INFO);
2.5
2.6 //
2.7 + // Make the random number generators generate reproducible results.
2.8 + //
2.9 + RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
2.10 +
2.11 + //
2.12 // Set up default values for the simulation.
2.13 //
2.14 // Select Ethernet II-style encapsulation (no LLC/Snap header)
3.1 --- a/examples/csma-one-subnet.cc Mon Mar 31 16:31:34 2008 -0700
3.2 +++ b/examples/csma-one-subnet.cc Mon Mar 31 17:48:21 2008 -0700
3.3 @@ -47,6 +47,9 @@
3.4 LogComponentEnable ("CsmaOneSubnetExample", LOG_LEVEL_INFO);
3.5 #endif
3.6 //
3.7 +// Make the random number generators generate reproducible results.
3.8 +//
3.9 + RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
3.10 //
3.11 // Allow the user to override any of the defaults and the above Bind() at
3.12 // run-time, via command-line arguments
4.1 --- a/examples/csma-packet-socket.cc Mon Mar 31 16:31:34 2008 -0700
4.2 +++ b/examples/csma-packet-socket.cc Mon Mar 31 17:48:21 2008 -0700
4.3 @@ -49,29 +49,12 @@
4.4 {
4.5 #if 0
4.6 LogComponentEnable ("CsmaPacketSocketExample", LOG_LEVEL_INFO);
4.7 +#endif
4.8
4.9 - LogComponentEnable("Object", LOG_LEVEL_ALL);
4.10 - LogComponentEnable("Queue", LOG_LEVEL_ALL);
4.11 - LogComponentEnable("DropTailQueue", LOG_LEVEL_ALL);
4.12 - LogComponentEnable("Channel", LOG_LEVEL_ALL);
4.13 - LogComponentEnable("CsmaChannel", LOG_LEVEL_ALL);
4.14 - LogComponentEnable("NetDevice", LOG_LEVEL_ALL);
4.15 - LogComponentEnable("CsmaNetDevice", LOG_LEVEL_ALL);
4.16 - LogComponentEnable("Ipv4L3Protocol", LOG_LEVEL_ALL);
4.17 - LogComponentEnable("PacketSocket", LOG_LEVEL_ALL);
4.18 - LogComponentEnable("Socket", LOG_LEVEL_ALL);
4.19 - LogComponentEnable("UdpSocket", LOG_LEVEL_ALL);
4.20 - LogComponentEnable("UdpL4Protocol", LOG_LEVEL_ALL);
4.21 - LogComponentEnable("Ipv4L3Protocol", LOG_LEVEL_ALL);
4.22 - LogComponentEnable("Ipv4StaticRouting", LOG_LEVEL_ALL);
4.23 - LogComponentEnable("Ipv4Interface", LOG_LEVEL_ALL);
4.24 - LogComponentEnable("ArpIpv4Interface", LOG_LEVEL_ALL);
4.25 - LogComponentEnable("Ipv4LoopbackInterface", LOG_LEVEL_ALL);
4.26 - LogComponentEnable("OnOffApplication", LOG_LEVEL_ALL);
4.27 - LogComponentEnable("PacketSinkApplication", LOG_LEVEL_ALL);
4.28 - LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_ALL);
4.29 - LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_ALL);
4.30 -#endif
4.31 + //
4.32 + // Make the random number generators generate reproducible results.
4.33 + //
4.34 + RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
4.35
4.36 CommandLine cmd;
4.37 cmd.Parse (argc, argv);
5.1 --- a/examples/simple-point-to-point-olsr.cc Mon Mar 31 16:31:34 2008 -0700
5.2 +++ b/examples/simple-point-to-point-olsr.cc Mon Mar 31 17:48:21 2008 -0700
5.3 @@ -57,29 +57,13 @@
5.4 // for selected modules; the below lines suggest how to do this
5.5 #if 0
5.6 LogComponentEnable ("SimpleGlobalRoutingExample", LOG_LEVEL_INFO);
5.7 +#endif
5.8
5.9 - LogComponentEnable("Object", LOG_LEVEL_ALL);
5.10 - LogComponentEnable("Queue", LOG_LEVEL_ALL);
5.11 - LogComponentEnable("DropTailQueue", LOG_LEVEL_ALL);
5.12 - LogComponentEnable("Channel", LOG_LEVEL_ALL);
5.13 - LogComponentEnable("CsmaChannel", LOG_LEVEL_ALL);
5.14 - LogComponentEnable("NetDevice", LOG_LEVEL_ALL);
5.15 - LogComponentEnable("CsmaNetDevice", LOG_LEVEL_ALL);
5.16 - LogComponentEnable("Ipv4L3Protocol", LOG_LEVEL_ALL);
5.17 - LogComponentEnable("PacketSocket", LOG_LEVEL_ALL);
5.18 - LogComponentEnable("Socket", LOG_LEVEL_ALL);
5.19 - LogComponentEnable("UdpSocket", LOG_LEVEL_ALL);
5.20 - LogComponentEnable("UdpL4Protocol", LOG_LEVEL_ALL);
5.21 - LogComponentEnable("Ipv4L3Protocol", LOG_LEVEL_ALL);
5.22 - LogComponentEnable("Ipv4StaticRouting", LOG_LEVEL_ALL);
5.23 - LogComponentEnable("Ipv4Interface", LOG_LEVEL_ALL);
5.24 - LogComponentEnable("ArpIpv4Interface", LOG_LEVEL_ALL);
5.25 - LogComponentEnable("Ipv4LoopbackInterface", LOG_LEVEL_ALL);
5.26 - LogComponentEnable("OnOffApplication", LOG_LEVEL_ALL);
5.27 - LogComponentEnable("PacketSinkApplication", LOG_LEVEL_ALL);
5.28 - LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_ALL);
5.29 - LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_ALL);
5.30 -#endif
5.31 + //
5.32 + // Make the random number generators generate reproducible results.
5.33 + //
5.34 + RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
5.35 +
5.36 // Set up some default values for the simulation. Use the
5.37
5.38 Config::SetDefault ("ns3::OnOffApplication::PacketSize", Uinteger (210));
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/regression/tests/test-csma-broadcast.py Mon Mar 31 17:48:21 2008 -0700
6.3 @@ -0,0 +1,41 @@
6.4 +#! /usr/bin/env python
6.5 +
6.6 +"""Generic trace-comparison-type regression test."""
6.7 +
6.8 +import os
6.9 +import shutil
6.10 +
6.11 +def run(verbose, generate):
6.12 + """Execute a test."""
6.13 +
6.14 + testName = "csma-broadcast"
6.15 + repoName = "ns-3-ref-traces/"
6.16 + refDirName = testName + ".ref"
6.17 +
6.18 + if not os.path.exists(repoName):
6.19 + print"No reference trace repository"
6.20 + return 1
6.21 +
6.22 + if generate:
6.23 + if not os.path.exists(repoName + refDirName):
6.24 + print "creating new " + repoName + refDirName
6.25 + os.mkdir(repoName + refDirName)
6.26 +
6.27 + os.system("./waf --cwd regression/" + repoName + refDirName +
6.28 + " --run " + testName + " >& /dev/null")
6.29 +
6.30 + print "Remember to commit " + repoName + refDirName
6.31 + return 0
6.32 + else:
6.33 + if not os.path.exists(repoName + refDirName):
6.34 + print "Cannot locate reference traces"
6.35 + return 1
6.36 +
6.37 + shutil.rmtree("traces");
6.38 + os.mkdir("traces")
6.39 +
6.40 + os.system("./waf --cwd regression/traces --run " +
6.41 + testName + " >& /dev/null")
6.42 +
6.43 + return os.system("diff -q traces " + repoName + refDirName +
6.44 + " >& /dev/null")
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/regression/tests/test-csma-multicast.py Mon Mar 31 17:48:21 2008 -0700
7.3 @@ -0,0 +1,41 @@
7.4 +#! /usr/bin/env python
7.5 +
7.6 +"""Generic trace-comparison-type regression test."""
7.7 +
7.8 +import os
7.9 +import shutil
7.10 +
7.11 +def run(verbose, generate):
7.12 + """Execute a test."""
7.13 +
7.14 + testName = "csma-multicast"
7.15 + repoName = "ns-3-ref-traces/"
7.16 + refDirName = testName + ".ref"
7.17 +
7.18 + if not os.path.exists(repoName):
7.19 + print"No reference trace repository"
7.20 + return 1
7.21 +
7.22 + if generate:
7.23 + if not os.path.exists(repoName + refDirName):
7.24 + print "creating new " + repoName + refDirName
7.25 + os.mkdir(repoName + refDirName)
7.26 +
7.27 + os.system("./waf --cwd regression/" + repoName + refDirName +
7.28 + " --run " + testName + " >& /dev/null")
7.29 +
7.30 + print "Remember to commit " + repoName + refDirName
7.31 + return 0
7.32 + else:
7.33 + if not os.path.exists(repoName + refDirName):
7.34 + print "Cannot locate reference traces"
7.35 + return 1
7.36 +
7.37 + shutil.rmtree("traces");
7.38 + os.mkdir("traces")
7.39 +
7.40 + os.system("./waf --cwd regression/traces --run " +
7.41 + testName + " >& /dev/null")
7.42 +
7.43 + return os.system("diff -q traces " + repoName + refDirName +
7.44 + " >& /dev/null")
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/regression/tests/test-csma-packet-socket.py Mon Mar 31 17:48:21 2008 -0700
8.3 @@ -0,0 +1,41 @@
8.4 +#! /usr/bin/env python
8.5 +
8.6 +"""Generic trace-comparison-type regression test."""
8.7 +
8.8 +import os
8.9 +import shutil
8.10 +
8.11 +def run(verbose, generate):
8.12 + """Execute a test."""
8.13 +
8.14 + testName = "csma-packet-socket"
8.15 + repoName = "ns-3-ref-traces/"
8.16 + refDirName = testName + ".ref"
8.17 +
8.18 + if not os.path.exists(repoName):
8.19 + print"No reference trace repository"
8.20 + return 1
8.21 +
8.22 + if generate:
8.23 + if not os.path.exists(repoName + refDirName):
8.24 + print "creating new " + repoName + refDirName
8.25 + os.mkdir(repoName + refDirName)
8.26 +
8.27 + os.system("./waf --cwd regression/" + repoName + refDirName +
8.28 + " --run " + testName + " >& /dev/null")
8.29 +
8.30 + print "Remember to commit " + repoName + refDirName
8.31 + return 0
8.32 + else:
8.33 + if not os.path.exists(repoName + refDirName):
8.34 + print "Cannot locate reference traces"
8.35 + return 1
8.36 +
8.37 + shutil.rmtree("traces");
8.38 + os.mkdir("traces")
8.39 +
8.40 + os.system("./waf --cwd regression/traces --run " +
8.41 + testName + " >& /dev/null")
8.42 +
8.43 + return os.system("diff -q traces " + repoName + refDirName +
8.44 + " >& /dev/null")
9.1 --- a/src/applications/onoff/onoff-application.cc Mon Mar 31 16:31:34 2008 -0700
9.2 +++ b/src/applications/onoff/onoff-application.cc Mon Mar 31 17:48:21 2008 -0700
9.3 @@ -208,6 +208,7 @@
9.4 NS_LOG_FUNCTION;
9.5
9.6 Time onInterval = Seconds(m_onTime.GetValue());
9.7 + NS_LOG_LOGIC ("stop at " << onInterval);
9.8 Simulator::Schedule(onInterval, &OnOffApplication::StopSending, this);
9.9 }
9.10
9.11 @@ -215,7 +216,7 @@
9.12 void OnOffApplication::SendPacket()
9.13 {
9.14 NS_LOG_FUNCTION;
9.15 -
9.16 + NS_LOG_LOGIC ("sending packet at " << Simulator::Now());
9.17 NS_ASSERT (m_sendEvent.IsExpired ());
9.18 Ptr<Packet> packet = Create<Packet> (m_pktSize);
9.19 m_txTrace (packet);