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
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):
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")
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)
# -*- coding: utf-8 -*-
from constants import TESTBED_ID, TESTBED_VERSION
-from execute import TestbedController
+from execute import TestbedController, load_ns3_module
"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
}),
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)
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:]
}),
dict({
"from": ( "ns3", "ns3::Node", "devs" ),
- "to": ( "ns3", "ns3::FileDescriptorNetDevice", "node" ),
+ "to": ( "ns3", "ns3::FdNetDevice", "node" ),
"init_code": connect_node_device,
"can_cross": False
}),
"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
"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
}),
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):
"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,
"ns3::SingleModelSpectrumChannel",
"ns3::MsduStandardAggregator",
"ns3::EdcaTxopN",
- "ns3::QstaWifiMac",
- "ns3::QapWifiMac",
+ "ns3::StaWifiMac",
+ "ns3::ApWifiMac",
"ns3::QadhocWifiMac",
"ns3::MinstrelWifiManager",
"ns3::CaraWifiManager",
"ns3::AarfWifiManager",
"ns3::ArfWifiManager",
"ns3::WifiNetDevice",
- "ns3::NqstaWifiMac",
- "ns3::NqapWifiMac",
"ns3::AdhocWifiMac",
"ns3::DcaTxop",
"ns3::WifiMacQueue",
"ns3::PacketSink",
"ns3::OnOffApplication",
"ns3::VirtualNetDevice",
- "ns3::FileDescriptorNetDevice",
+ "ns3::FdNetDevice",
"ns3::Nepi::TunChannel",
"ns3::TapBridge",
"ns3::BridgeChannel",
"WaypointList"],
"tags": [tags.MOBILE],
}),
- "ns3::FileDescriptorNetDevice": dict({
+ "ns3::FdNetDevice": dict({
"category": FC.CATEGORY_DEVICES,
"create_function": create_element,
"configure_function": configure_device,
"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,
"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,
"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,
"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,
"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,
"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",
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")
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"))
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"))
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"))