From 24e441950c192d2eca7f2768b7adbc2ab29d8bce Mon Sep 17 00:00:00 2001 From: Alina Quereilhac Date: Sat, 30 Jul 2011 12:30:54 +0200 Subject: [PATCH] Adapting nepi to ns3.11 --- examples/roads09.py | 2 +- examples/vlc_wireless_netns_ns3.py | 8 +-- src/nepi/testbeds/netns/metadata.py | 2 +- src/nepi/testbeds/ns3/__init__.py | 2 +- src/nepi/testbeds/ns3/attributes_metadata.py | 10 ++-- src/nepi/testbeds/ns3/connection_metadata.py | 26 +++------ src/nepi/testbeds/ns3/factories_metadata.py | 59 +++----------------- src/nepi/testbeds/ns3/traces_metadata.py | 4 +- test/testbeds/planetlab/integration_cross.py | 2 +- test/testbeds/planetlab/integration_ns3.py | 6 +- 10 files changed, 34 insertions(+), 87 deletions(-) diff --git a/examples/roads09.py b/examples/roads09.py index 65dfc313..772eec02 100644 --- a/examples/roads09.py +++ b/examples/roads09.py @@ -108,7 +108,7 @@ class Roads09Ns3PLExample(object): def add_ns3_fdnd(self, node, ns3_desc): - fdnd = ns3_desc.create("ns3::FileDescriptorNetDevice") + fdnd = ns3_desc.create("ns3::FdNetDevice") node.connector("devs").connect(fdnd.connector("node")) fdnd.enable_trace("FileDescriptorPcapTrace") return fdnd diff --git a/examples/vlc_wireless_netns_ns3.py b/examples/vlc_wireless_netns_ns3.py index 93138caa..469c8370 100644 --- a/examples/vlc_wireless_netns_ns3.py +++ b/examples/vlc_wireless_netns_ns3.py @@ -34,9 +34,9 @@ class VlcWirelessNetnsNs3Example(object): return tap def add_ns3_fdnd(self, node, ns3_desc): - fdnd = ns3_desc.create("ns3::FileDescriptorNetDevice") + fdnd = ns3_desc.create("ns3::FdNetDevice") node.connector("devs").connect(fdnd.connector("node")) - fdnd.enable_trace("FileDescriptorPcapTrace") + fdnd.enable_trace("FdPcapTrace") return fdnd def add_ns3_node(self, ns3_desc): @@ -59,9 +59,9 @@ class VlcWirelessNetnsNs3Example(object): error = ns3_desc.create("ns3::NistErrorRateModel") manager = ns3_desc.create("ns3::ArfWifiManager") if access_point: - mac = ns3_desc.create("ns3::QapWifiMac") + mac = ns3_desc.create("ns3::ApWifiMac") else: - mac = ns3_desc.create("ns3::QstaWifiMac") + mac = ns3_desc.create("ns3::StaWifiMac") phy.set_attribute_value("Standard", "WIFI_PHY_STANDARD_80211a") mac.set_attribute_value("Standard", "WIFI_PHY_STANDARD_80211a") diff --git a/src/nepi/testbeds/netns/metadata.py b/src/nepi/testbeds/netns/metadata.py index 86359f40..d6361b36 100644 --- a/src/nepi/testbeds/netns/metadata.py +++ b/src/nepi/testbeds/netns/metadata.py @@ -26,7 +26,7 @@ APPLICATION = "Application" TUNCHANNEL = "TunChannel" NS3_TESTBED_ID = "ns3" -FDNETDEV = "ns3::FileDescriptorNetDevice" +FDNETDEV = "ns3::FdNetDevice" def _follow_trace(testbed_instance, guid, trace_id, filename): filepath = testbed_instance.trace_filepath(guid, trace_id, filename) diff --git a/src/nepi/testbeds/ns3/__init__.py b/src/nepi/testbeds/ns3/__init__.py index 1ea99bdf..29cb9939 100644 --- a/src/nepi/testbeds/ns3/__init__.py +++ b/src/nepi/testbeds/ns3/__init__.py @@ -2,5 +2,5 @@ # -*- coding: utf-8 -*- from constants import TESTBED_ID, TESTBED_VERSION -from execute import TestbedController +from execute import TestbedController, load_ns3_module diff --git a/src/nepi/testbeds/ns3/attributes_metadata.py b/src/nepi/testbeds/ns3/attributes_metadata.py index 90339988..170d0186 100644 --- a/src/nepi/testbeds/ns3/attributes_metadata.py +++ b/src/nepi/testbeds/ns3/attributes_metadata.py @@ -23,14 +23,14 @@ testbed_attributes = dict({ "sched_impl_type": dict({ "name": "SchedulerType", "help": "The object class to use as the scheduler implementation. Make sure to pick a thread-safe variant.", - "value": "ns3::ThreadsafeMapScheduler", + "value": "ns3::MapScheduler", "type": Attribute.ENUM, "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable, "allowed": [ - "ns3::ThreadsafeMapScheduler", - "ns3::ThreadsafeHeapScheduler", - "ns3::ThreadsafeListScheduler", - "ns3::ThreadsafeCalendarScheduler", + "ns3::MapScheduler", + "ns3::HeapScheduler", + "ns3::ListScheduler", + "ns3::CalendarScheduler", ], "validation_function": validation.is_enum }), diff --git a/src/nepi/testbeds/ns3/connection_metadata.py b/src/nepi/testbeds/ns3/connection_metadata.py index b4b35c13..6d14a266 100644 --- a/src/nepi/testbeds/ns3/connection_metadata.py +++ b/src/nepi/testbeds/ns3/connection_metadata.py @@ -115,7 +115,7 @@ def connect_classifier_sflow(testbed_instance, classifier_guid, sflow_guid): def connect_fd(testbed_instance, fdnd_guid, cross_data): fdnd = testbed_instance._elements[fdnd_guid] endpoint = fdnd.GetEndpoint() - # XXX: check the method StringToBuffer of ns3::FileDescriptorNetDevice + # XXX: check the method StringToBuffer of ns3::FdNetDevice # to see how the address should be decoded address = endpoint.replace(":", "").decode('hex')[2:] testbed_instance.set(fdnd_guid, "LinuxSocketAddress", address) @@ -134,7 +134,7 @@ def connect_tunchannel_fd(testbed_instance, tun_guid, fdnd_guid): fdnd = testbed_instance._elements[fdnd_guid] tun = testbed_instance._elements[tun_guid] - # XXX: check the method StringToBuffer of ns3::FileDescriptorNetDevice + # XXX: check the method StringToBuffer of ns3::FdNetDevice # to see how the address should be decoded endpoint = fdnd.GetEndpoint() address = endpoint.replace(":", "").decode('hex')[2:] @@ -364,7 +364,7 @@ connections = [ }), dict({ "from": ( "ns3", "ns3::Node", "devs" ), - "to": ( "ns3", "ns3::FileDescriptorNetDevice", "node" ), + "to": ( "ns3", "ns3::FdNetDevice", "node" ), "init_code": connect_node_device, "can_cross": False }), @@ -483,25 +483,13 @@ connections = [ "can_cross": False }), dict({ - "from": ( "ns3", "ns3::QapWifiMac", "dev" ), + "from": ( "ns3", "ns3::ApWifiMac", "dev" ), "to": ( "ns3", "ns3::WifiNetDevice", "mac" ), "init_code": connect_mac_device, "can_cross": False }), dict({ - "from": ( "ns3", "ns3::QstaWifiMac", "dev" ), - "to": ( "ns3", "ns3::WifiNetDevice", "mac" ), - "init_code": connect_mac_device, - "can_cross": False - }), - dict({ - "from": ( "ns3", "ns3::NqapWifiMac", "dev" ), - "to": ( "ns3", "ns3::WifiNetDevice", "mac" ), - "init_code": connect_mac_device, - "can_cross": False - }), - dict({ - "from": ( "ns3", "ns3::NqstaWifiMac", "dev" ), + "from": ( "ns3", "ns3::StaWifiMac", "dev" ), "to": ( "ns3", "ns3::WifiNetDevice", "mac" ), "init_code": connect_mac_device, "can_cross": False @@ -770,14 +758,14 @@ connections = [ "can_cross": False }), dict({ - "from": ( "ns3", "ns3::FileDescriptorNetDevice", "->fd" ), + "from": ( "ns3", "ns3::FdNetDevice", "->fd" ), "to": ( None, None, "fd->" ), "init_code": connect_fd, "can_cross": True }), dict({ "from": ( "ns3", "ns3::Nepi::TunChannel", "fd->" ), - "to": ( "ns3", "ns3::FileDescriptorNetDevice", "->fd" ), + "to": ( "ns3", "ns3::FdNetDevice", "->fd" ), "init_code": connect_tunchannel_fd, "can_cross": False }), diff --git a/src/nepi/testbeds/ns3/factories_metadata.py b/src/nepi/testbeds/ns3/factories_metadata.py index fe38f4a1..f706f285 100644 --- a/src/nepi/testbeds/ns3/factories_metadata.py +++ b/src/nepi/testbeds/ns3/factories_metadata.py @@ -126,7 +126,7 @@ def fdpcap_trace(testbed_instance, guid, trace_id): element = testbed_instance._elements[guid] filename = "trace-fd-node-%d-dev-%d.pcap" % (node_guid, interface_number) filepath = _follow_trace(testbed_instance, guid, trace_id, filename) - helper = testbed_instance.ns3.FileDescriptorHelper() + helper = testbed_instance.ns3.FdNetDeviceHelper() helper.EnablePcap(filepath, element, explicitFilename = True) def yanswifipcap_trace(testbed_instance, guid, trace_id): @@ -174,7 +174,7 @@ trace_functions = dict({ "P2PAsciiTrace": p2pascii_trace, "CsmaPcapTrace": csmapcap_trace, "CsmaPcapPromiscTrace": csmapcap_promisc_trace, - "FileDescriptorPcapTrace": fdpcap_trace, + "FdPcapTrace": fdpcap_trace, "YansWifiPhyPcapTrace": yanswifipcap_trace, "WimaxPcapTrace": wimaxpcap_trace, "WimaxAsciiTrace": wimaxascii_trace, @@ -566,8 +566,8 @@ factories_order = ["ns3::BasicEnergySource", "ns3::SingleModelSpectrumChannel", "ns3::MsduStandardAggregator", "ns3::EdcaTxopN", - "ns3::QstaWifiMac", - "ns3::QapWifiMac", + "ns3::StaWifiMac", + "ns3::ApWifiMac", "ns3::QadhocWifiMac", "ns3::MinstrelWifiManager", "ns3::CaraWifiManager", @@ -579,8 +579,6 @@ factories_order = ["ns3::BasicEnergySource", "ns3::AarfWifiManager", "ns3::ArfWifiManager", "ns3::WifiNetDevice", - "ns3::NqstaWifiMac", - "ns3::NqapWifiMac", "ns3::AdhocWifiMac", "ns3::DcaTxop", "ns3::WifiMacQueue", @@ -610,7 +608,7 @@ factories_order = ["ns3::BasicEnergySource", "ns3::PacketSink", "ns3::OnOffApplication", "ns3::VirtualNetDevice", - "ns3::FileDescriptorNetDevice", + "ns3::FdNetDevice", "ns3::Nepi::TunChannel", "ns3::TapBridge", "ns3::BridgeChannel", @@ -1031,7 +1029,7 @@ factories_info = dict({ "WaypointList"], "tags": [tags.MOBILE], }), - "ns3::FileDescriptorNetDevice": dict({ + "ns3::FdNetDevice": dict({ "category": FC.CATEGORY_DEVICES, "create_function": create_element, "configure_function": configure_device, @@ -1049,7 +1047,7 @@ factories_info = dict({ "preconfigure_function": preconfigure_tunchannel, "configure_function": postconfigure_tunchannel, "prestart_function": wait_tunchannel, - "help": "Channel to forward FileDescriptorNetDevice data to " + "help": "Channel to forward FdNetDevice data to " "other TAP interfaces supporting the NEPI tunneling protocol.", "connector_types": ["fd->", "udp", "tcp"], "allow_addresses": False, @@ -1077,26 +1075,6 @@ factories_info = dict({ "help": "", "connector_types": [], "box_attributes": ["SpreadCoef"], - }), - "ns3::NqstaWifiMac": dict({ - "category": FC.CATEGORY_MAC_MODELS, - "create_function": create_wifi_standard_model, - "configure_function": configure_element, - "help": "", - "connector_types": ["dev"], - "box_attributes": ["ProbeRequestTimeout", - "AssocRequestTimeout", - "MaxMissedBeacons", - "CtsTimeout", - "AckTimeout", - "BasicBlockAckTimeout", - "CompressedBlockAckTimeout", - "Sifs", - "EifsNoDifs", - "Slot", - "Pifs", - "MaxPropagationDelay", - "Ssid"], }), "ns3::Icmpv6L4Protocol": dict({ "category": FC.CATEGORY_PROTOCOLS, @@ -1338,25 +1316,6 @@ factories_info = dict({ "box_attributes": ["X", "Y"], "tags": [tags.MOBILE], - }), - "ns3::NqapWifiMac": dict({ - "category": FC.CATEGORY_MAC_MODELS, - "create_function": create_wifi_standard_model, - "configure_function": configure_element, - "help": "", - "connector_types": ["dev"], - "box_attributes": ["BeaconInterval", - "BeaconGeneration", - "CtsTimeout", - "AckTimeout", - "BasicBlockAckTimeout", - "CompressedBlockAckTimeout", - "Sifs", - "EifsNoDifs", - "Slot", - "Pifs", - "MaxPropagationDelay", - "Ssid"], }), "ns3::HierarchicalMobilityModel": dict({ "category": FC.CATEGORY_MOBILITY_MODELS, @@ -1611,7 +1570,7 @@ factories_info = dict({ "connector_types": [], "box_attributes": ["ExtensionNumber"], }), - "ns3::QstaWifiMac": dict({ + "ns3::StaWifiMac": dict({ "category": FC.CATEGORY_MAC_MODELS, "create_function": create_wifi_standard_model, "configure_function": configure_element, @@ -1780,7 +1739,7 @@ factories_info = dict({ "connector_types": [], "box_attributes": ["OptionNumber"], }), - "ns3::QapWifiMac": dict({ + "ns3::ApWifiMac": dict({ "category": FC.CATEGORY_MAC_MODELS, "create_function": create_wifi_standard_model, "configure_function": configure_element, diff --git a/src/nepi/testbeds/ns3/traces_metadata.py b/src/nepi/testbeds/ns3/traces_metadata.py index b7b074cc..09f286ac 100644 --- a/src/nepi/testbeds/ns3/traces_metadata.py +++ b/src/nepi/testbeds/ns3/traces_metadata.py @@ -19,8 +19,8 @@ traces = dict({ "help": "Trace to sniff packets from a Csma network device" }), "fdpcap": dict({ - "name": "FileDescriptorPcapTrace", - "help": "Trace to sniff packets from a FileDescriptor network device" + "name": "FdPcapTrace", + "help": "Trace to sniff packets from a file descriptor network device" }), "yanswifipcap": dict({ "name": "YansWifiPhyPcapTrace", diff --git a/test/testbeds/planetlab/integration_cross.py b/test/testbeds/planetlab/integration_cross.py index 8dcb8cb7..d790ea37 100755 --- a/test/testbeds/planetlab/integration_cross.py +++ b/test/testbeds/planetlab/integration_cross.py @@ -159,7 +159,7 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase): ns1.connector("protos").connect(ipv41.connector("node")) ns1.connector("protos").connect(arp1.connector("node")) ns1.connector("protos").connect(icmp1.connector("node")) - ns1if = ns3.create("ns3::FileDescriptorNetDevice") + ns1if = ns3.create("ns3::FdNetDevice") ns1if.enable_trace("FileDescriptorPcapTrace") ns1if.set_attribute_value("label", "ns1if") ns1tc = ns3.create("ns3::Nepi::TunChannel") diff --git a/test/testbeds/planetlab/integration_ns3.py b/test/testbeds/planetlab/integration_ns3.py index b9ef9529..dfb39d83 100755 --- a/test/testbeds/planetlab/integration_ns3.py +++ b/test/testbeds/planetlab/integration_ns3.py @@ -184,7 +184,7 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase): ns1.connector("protos").connect(ipv41.connector("node")) ns1.connector("protos").connect(arp1.connector("node")) ns1.connector("protos").connect(icmp1.connector("node")) - ns1if = ns3_desc.create("ns3::FileDescriptorNetDevice") + ns1if = ns3_desc.create("ns3::FdNetDevice") ns1if.enable_trace("FileDescriptorPcapTrace") ns1if.set_attribute_value("label", "ns1if") ns1.connector("devs").connect(ns1if.connector("node")) @@ -263,7 +263,7 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase): ns1.connector("protos").connect(ipv41.connector("node")) ns1.connector("protos").connect(arp1.connector("node")) ns1.connector("protos").connect(icmp1.connector("node")) - ns1if = ns3_desc.create("ns3::FileDescriptorNetDevice") + ns1if = ns3_desc.create("ns3::FdNetDevice") ns1if.enable_trace("FileDescriptorPcapTrace") ns1if.set_attribute_value("label", "ns1if") ns1.connector("devs").connect(ns1if.connector("node")) @@ -368,7 +368,7 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase): ns1.connector("protos").connect(ipv41.connector("node")) ns1.connector("protos").connect(arp1.connector("node")) ns1.connector("protos").connect(icmp1.connector("node")) - ns1if = ns3_desc.create("ns3::FileDescriptorNetDevice") + ns1if = ns3_desc.create("ns3::FdNetDevice") ns1if.enable_trace("FileDescriptorPcapTrace") ns1if.set_attribute_value("label", "ns1if") ns1.connector("devs").connect(ns1if.connector("node")) -- 2.43.0