X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=examples%2Fns3_wifi_hidden_terminal.py;h=4a1cc393b52c95f75c7197ade6bf5b0ff7357609;hb=dbbdae09cbc0c1a4dd98f3b0a27cf3a95262384b;hp=f2916edc69b01b4f14a0aea9e47a2ebf4445c478;hpb=2c3ad8d7089bce9d97e75260469aeff3f5a5a1ca;p=nepi.git diff --git a/examples/ns3_wifi_hidden_terminal.py b/examples/ns3_wifi_hidden_terminal.py index f2916edc..4a1cc393 100644 --- a/examples/ns3_wifi_hidden_terminal.py +++ b/examples/ns3_wifi_hidden_terminal.py @@ -49,7 +49,9 @@ def create_wifi_device(ns3_desc, node, channel): phy.set_attribute_value("Standard", "WIFI_PHY_STANDARD_80211b") dev.connector("phy").connect(phy.connector("dev")) channel.connector("phys").connect(phy.connector("chan")) - + error = ns3_desc.create("ns3::NistErrorRateModel") + phy.connector("err").connect(error.connector("phy")) + return dev root_dir = tempfile.mkdtemp() @@ -60,6 +62,9 @@ testbed_id = "ns3" ns3_provider = FactoriesProvider(testbed_id) ns3_desc = exp_desc.add_testbed_description(ns3_provider) ns3_desc.set_attribute_value("homeDirectory", root_dir) +#ns3_desc.set_attribute_value("SimulatorImplementationType", "ns3::RealtimeSimulatorImpl") +#ns3_desc.set_attribute_value("ChecksumEnabled", True) + # 0. Enable or disable CTS/RTS # ?? @@ -91,6 +96,7 @@ delay = ns3_desc.create("ns3::ConstantSpeedPropagationDelayModel") channel.connector("delay").connect(delay.connector("chan")) # 5. Install wireless devices + dev1 = create_wifi_device(ns3_desc, node1, channel) ip1 = dev1.add_address() ip1.set_attribute_value("Address", "10.0.0.1") @@ -107,7 +113,7 @@ ip3.set_attribute_value("Address", "10.0.0.3") ip3.set_attribute_value("NetPrefix", 8) app = ns3_desc.create("ns3::V4Ping") -app.set_attribute_value("Remote", "10.0.0.3") +app.set_attribute_value("Remote", "10.0.0.2") app.set_attribute_value("Verbose", True) app.set_attribute_value("StartTime", "0s") app.set_attribute_value("StopTime", "20s") @@ -119,5 +125,8 @@ xml = exp_desc.to_xml() controller = ExperimentController(xml, root_dir) controller.start() +while not controller.is_finished(app.guid): + time.sleep(0.5) + controller.stop() controller.shutdown()