from emulation_lib.emulation import Emulation from emulation_lib.network_blocks.network_block import NetworkBlock from emulation_lib.apps.udperf_app import UdperfApp from emulation_lib.linkcmd_backends.bdl_ import BDL_ emu = Emulation("./config_files/example.config.py", [0, 1]) emu.setLinkCmdBackend(BDL_()) n0 = emu.getNode(0) n1 = emu.getNode(1) nb1 = NetworkBlock("./blocks/TwoNode_80211a_adhoc") nb1.setNodes([n0, n1]) emu.addNetworkBlocks([nb1]) udperf_app1 = UdperfApp(n0, n1, 0.0, 99, 9000, 6000, 6001) udperf_app2 = UdperfApp(n1, n0, 0.0, 99, 9000, 6000, 6001) n0.addUserResult("/home/nfd/cmdScheduler.log", "cmdSched0.log_%RUN%") n1.addUserResult("/home/nfd/cmdScheduler.log", "cmdSched1.log_%RUN%") emu.setDuration(102) emu.addApplications([udperf_app1, udperf_app2]) emu.setName('simple_sequence') emu.setNumberOfRuns(3) emu.setSecondsBetweenRuns(15) for intervalSize in [1000, 500, 250, 100]: emu.setName(intervalSize)
from emulation_lib.apps.udperf_app import UdperfApp from emulation_lib.linkcmd_backends.l_ import L_ emu = Emulation("../example.config.py", [0, 1]) emu.setLinkCmdBackend(L_()) n0 = emu.getNode(0) n1 = emu.getNode(1) # http://dashif.org/wp-content/uploads/2015/04/DASH-AVC-264-Test-Vectors-v09-CommunityReview.pdf nb1 = NetworkBlock("./blocks/flicflac") nb1.setNodes([n0, n1]) nb1.selectInterval(1000) emu.addNetworkBlocks([nb1]) udperf_app = UdperfApp(n1, n0, 0.0, 12, 10000, 6000, 6001) n1.addUserResult("/home/nfd/cmdScheduler.log", "cmdSched" + str(n1.getId()) + ".log_%RUN%") emu.setDuration(14) emu.addApplications([udperf_app]) emu.setName('flicflac_loss') emu.setOutputDirectory('./results/' + emu.getName()) emu.setNumberOfRuns(10) emu.setSecondsBetweenRuns(5) emu.start()
from emulation_lib.linkcmd_backends.bdl_ import BDL_ from emulation_lib.linkcmd_backends.d_bl import D_BL emu = Emulation("../example.config.py", [0, 1]) emu.setLinkCmdBackend(D_BL()) n0 = emu.getNode(0) n1 = emu.getNode(1) nb1 = NetworkBlock("./blocks/two_node_7000") nb1.setNodes([n0, n1]) nb1.addPreprocessingStep(SetConstantValueForColumn("", 3, 27000.0)) # empty prefix -> apply to all files emu.addNetworkBlocks([nb1]) udperf_app = UdperfApp(n1, n0, 0.0, 110, 7500, 6000, 6001) n1.addUserResult("/home/nfd/cmdScheduler.log", "cmdSched" + str(n1.getId()) + ".log_%RUN%") emu.setDuration(112) emu.addApplications([udperf_app]) emu.setSecondsBetweenRuns(5) emu.setNumberOfRuns(1) for interval in [1000]: nb1.selectInterval(interval) emu.setName('two_node_bwexp_interval_' + str(interval)) emu.setOutputDirectory('./results/' + emu.getName()) emu.start()
from emulation_lib.network_blocks.network_block import NetworkBlock from emulation_lib.apps.udperf_app import UdperfApp from emulation_lib.linkcmd_backends.bdl_ import BDL_ emu = Emulation("./config_files/example.config.py", [0, 1]) emu.setLinkCmdBackend(BDL_()) n0 = emu.getNode(0) n1 = emu.getNode(1) nb1 = NetworkBlock("./blocks/profile1") nb1.setNodes([n0, n1]) nb1.selectInterval(1000) emu.addNetworkBlocks([nb1]) udperf_app1 = UdperfApp(n0, n1, 0.0, 19, 3000, 6000, 6001) udperf_app2 = UdperfApp(n1, n0, 0.0, 19, 3000, 6000, 6001) n0.addUserResult("/home/nfd/cmdScheduler.log", "cmdSched0.log_%RUN%") n1.addUserResult("/home/nfd/cmdScheduler.log", "cmdSched1.log_%RUN%") emu.setDuration(20) emu.addApplications([udperf_app1, udperf_app2]) emu.setName('reactionTime') emu.setOutputDirectory('./results/' + emu.getName()) emu.setNumberOfRuns(3) emu.setSecondsBetweenRuns(15) emu.start()
nb1 = NetworkBlock("./blocks/symmetric") nb1.setNodes([n0, n1]) nb1.selectInterval(1000) nb2 = NetworkBlock("./blocks/symmetric") nb2.setNodes([n2, n1]) nb2.selectInterval(1000) nb3 = NetworkBlock("./blocks/symmetric") nb3.setNodes([n3, n1]) nb3.selectInterval(1000) emu.addNetworkBlocks([nb1, nb2, nb3]) udperf_app0 = UdperfApp(n1, n0, 0.0, 12, 6000, 6000, 6001) udperf_app2 = UdperfApp(n1, n2, 0.0, 12, 6000, 6000, 6002) # own-Ports must be unique on the same node! udperf_app3 = UdperfApp(n1, n3, 0.0, 12, 6000, 6000, 6003) n1.addUserResult("/home/nfd/cmdScheduler.log", "cmdSched" + str(n1.getId()) + ".log_%RUN%") emu.setDuration(14) emu.addApplications([udperf_app0, udperf_app2, udperf_app3]) emu.setName('symmetric_threeFlows') emu.setOutputDirectory('./results/' + emu.getName()) emu.setNumberOfRuns(0) emu.setSecondsBetweenRuns(5) emu.start()
s2_0 = StaticConnection(2, 0, 10983.440, 0.000632, 0.00) snb = StaticNetworkBlock('../../emulation/test/static', [s0_1, s1_0, s0_2, s2_0], 1000) snb.setNodes([n0, n1, n2]) nb1 = NetworkBlock("./blocks/TwoNode_80211a_adhoc") nb1.setNodes([n1, n3]) nb1.selectInterval(1000) nb2 = NetworkBlock("./blocks/TwoNode_80211a_adhoc") nb2.setNodes([n2, n3]) nb2.selectedInterval(1000) emu.addNetworkBlocks([snb, nb1, nb2]) udperf_app0_1 = UdperfApp(n0, n1, 0.0, 99, 9000, 6000, 6001) udperf_app1_0 = UdperfApp(n1, n0, 0.0, 99, 9000, 6000, 6001) udperf_app0_2 = UdperfApp(n0, n2, 0.0, 99, 9000, 6000, 6001) udperf_app2_0 = UdperfApp(n2, n0, 0.0, 99, 9000, 6000, 6001) udperf_app1_3 = UdperfApp(n1, n3, 0.0, 99, 9000, 6000, 6001) udperf_app3_1 = UdperfApp(n3, n1, 0.0, 99, 9000, 6000, 6001) udperf_app2_3 = UdperfApp(n2, n3, 0.0, 99, 9000, 6000, 6001) udperf_app3_2 = UdperfApp(n3, n2, 0.0, 99, 9000, 6000, 6001) emu.setDuration(102) emu.addApplications([ udperf_app0_1, udperf_app1_0, udperf_app0_2, udperf_app2_0, udperf_app1_3, udperf_app3_1, udperf_app2_3, udperf_app3_2 ])
emu_duration = 60 # seconds emu = Emulation("../example.config.py", [0, 1]) emu.setLinkCmdBackend(B_()) n0 = emu.getNode(0) n1 = emu.getNode(1) nb1 = NetworkBlock("./blocks/symmetric") nb1.setNodes([n0, n1]) nb1.selectInterval(1000) nb1.addPreprocessingStep(RepeatIntermedFileUntil(emu_duration, False)) emu.addNetworkBlocks([nb1]) udperf_app = UdperfApp(n1, n0, 0.0, emu_duration - 2, 6000, 6000, 6001) n1.addUserResult("/home/nfd/cmdScheduler.log", "cmdSched" + str(n1.getId()) + ".log_%RUN%") emu.setDuration(emu_duration) emu.addApplications([udperf_app]) emu.setName('symmetric_repeated') emu.setOutputDirectory('./results/' + emu.getName()) emu.setNumberOfRuns(1) emu.setSecondsBetweenRuns(5) emu.start()