From: Claudio-Daniel Freire Date: Wed, 25 May 2011 15:32:37 +0000 (+0200) Subject: Add RTT trace to V4Ping, update test to test the RTT trace X-Git-Tag: nepi_v2~3 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=cc5a7e83ec52d5ce24ecc9d1242179e0602710ee;p=nepi.git Add RTT trace to V4Ping, update test to test the RTT trace --- diff --git a/src/nepi/testbeds/ns3/factories_metadata_v3_9_RC3.py b/src/nepi/testbeds/ns3/factories_metadata_v3_9_RC3.py index 4e695ddd..990b6cad 100644 --- a/src/nepi/testbeds/ns3/factories_metadata_v3_9_RC3.py +++ b/src/nepi/testbeds/ns3/factories_metadata_v3_9_RC3.py @@ -163,6 +163,17 @@ def wimaxpcap_trace(testbed_instance, guid, trace_id): helper = testbed_instance.ns3.WimaxHelper() helper.EnablePcap(filepath, element, explicitFilename = True) +def rtt_trace(testbed_instance, guid, trace_id): + element = testbed_instance._elements[guid] + helper = testbed_instance.ns3.PlotHelper() + prefix = "trace-app-%d" % (guid, ) + filename = helper.GetFilenameFromSource(prefix, element, trace_id) + testbed_instance.follow_trace(guid, trace_id, filename) + filepath = testbed_instance.trace_filename(guid, trace_id) + prefix = filepath[:filepath.find(prefix)+len(prefix)] + helper.EnableTrace(element, trace_id, prefix, "T") + + trace_functions = dict({ "P2PPcapTrace": p2ppcap_trace, "P2PAsciiTrace": p2pascii_trace, @@ -172,6 +183,7 @@ trace_functions = dict({ "YansWifiPhyPcapTrace": yanswifipcap_trace, "WimaxPcapTrace": wimaxpcap_trace, "WimaxAsciiTrace": wimaxascii_trace, + "Rtt": rtt_trace, }) ### Creation functions ### @@ -796,6 +808,7 @@ factories_info = dict({ "Size", "StartTime", "StopTime"], + "traces": ["rtt"], }), "ns3::dot11s::PeerLink": dict({ "category": "", diff --git a/src/nepi/testbeds/ns3/traces_metadata_v3_9_RC3.py b/src/nepi/testbeds/ns3/traces_metadata_v3_9_RC3.py index 9fe457fa..b7b074cc 100644 --- a/src/nepi/testbeds/ns3/traces_metadata_v3_9_RC3.py +++ b/src/nepi/testbeds/ns3/traces_metadata_v3_9_RC3.py @@ -34,4 +34,8 @@ traces = dict({ "name": "WimaxAsciiTrace", "help": "Ascii trace from a wimax network station" }), + "rtt": dict({ + "name": "Rtt", + "help": "Gnuplot-able trace of round trip times" + }) }) diff --git a/test/testbeds/ns3/execute.py b/test/testbeds/ns3/execute.py index f82ebf10..a8db9aab 100755 --- a/test/testbeds/ns3/execute.py +++ b/test/testbeds/ns3/execute.py @@ -60,6 +60,7 @@ class Ns3ExecuteTestCase(unittest.TestCase): instance.defer_create_set(17, "Remote", "10.0.0.2") instance.defer_create_set(17, "StartTime", "0s") instance.defer_create_set(17, "StopTime", "10s") + instance.defer_add_trace(17, "Rtt") instance.defer_connect(17, "node", 2, "apps") instance.do_setup() @@ -73,8 +74,20 @@ class Ns3ExecuteTestCase(unittest.TestCase): while instance.status(17) != STATUS_FINISHED: time.sleep(0.1) ping_result = instance.trace(14, "P2PAsciiTrace") + ping_rtt = instance.trace(17, "Rtt") comp_result = "- 9.021 /NodeList/1/DeviceList/0/$ns3::PointToPointNetDevice/TxQueue/Dequeue ns3::PppHeader (Point-to-Point Protocol: IP (0x0021)) ns3::Ipv4Header (tos 0x0 ttl 64 id 9 protocol 1 offset 0 flags [none] length: 84 10.0.0.2 > 10.0.0.1) ns3::Icmpv4Header (type=0, code=0) ns3::Icmpv4Echo (identifier=0, sequence=9)" + comp_rtt_result = """41992186ns 41992186ns +1041992186ns 41992186ns +2041992186ns 41992186ns +3041992186ns 41992186ns +4041992186ns 41992186ns +5041992186ns 41992186ns +6041992186ns 41992186ns +7041992186ns 41992186ns +8041992186ns 41992186ns +9041992186ns 41992186ns""" self.assertNotEqual(ping_result.find(comp_result), -1) + self.assertEqual(ping_rtt.strip(), comp_rtt_result, -1) instance.stop() instance.shutdown()