def test_0_single_hop(self): fname = sys._getframe().f_code.co_name perf_report = do_perf([if_a, if_b], if_b.ip) results[fname + "_ab"] = LinkReport(perf_report=perf_report) perf_report = do_perf([if_c, if_d], if_d.ip) results[fname + "_cd"] = LinkReport(perf_report=perf_report)
def test_2_bridge(self): fname = sys._getframe().f_code.co_name sta[1].reconf() sta[1].bridge([if_b, if_c], if_c.ip) if_b.start_capture() if_d.start_capture() perf_report = do_perf([if_a, if_d], if_d.ip) results[fname] = LinkReport(perf_report=perf_report) if_b.stop_capture(path="/tmp/%s_%d_out.cap" % (fname, if_b.conf.channel)) if_d.stop_capture(path="/tmp/%s_%d_out.cap" % (fname, if_d.conf.channel))
def test_4_same_ch_mhop(self): fname = sys._getframe().f_code.co_name # do a -> b -> d # disable c if_c.enable = False if_c.node.reconf() ifs = [if_a, if_b, if_d] for iface in ifs: if iface != if_b: iface.conf.mesh_params = "mesh_auto_open_plinks=0" iface.conf.channel = 1 iface.node.reconf() if_a.add_mesh_peer(if_b) if_d.add_mesh_peer(if_b) perf_report = do_perf([if_a, if_d], if_d.ip) # test multi-hop performance using a single radio for forwarding results[fname] = LinkReport(perf_report=perf_report) if_b.dump_mesh_stats()
def test_3_mmbss(self): fname = sys._getframe().f_code.co_name # enable in-kernel intra-vif forwarding if_b.conf.shared = True if_c.conf.shared = True sta[1].reconf() if_b.start_capture() if_d.start_capture() perf_report = do_perf([if_a, if_d], if_d.ip) results[fname] = LinkReport(perf_report=perf_report) if_b.stop_capture(path="/tmp/%s_%d_out.cap" % (fname, if_b.conf.channel)) if_d.stop_capture(path="/tmp/%s_%d_out.cap" % (fname, if_d.conf.channel)) if_b.dump_mesh_stats() if_b.dump_phy_stats() if_c.dump_phy_stats() if_d.dump_phy_stats()
def fixmetest_5_bonding(self): return # bond a & f, b & c, d & e together fname = sys._getframe().f_code.co_name sta[0].bond([if_a, if_f], if_a.ip) sta[1].bond([if_b, if_c], if_b.ip) sta[2].bond([if_d, if_e], if_d.ip) # force linear topology for iface in [if_a, if_f, if_d, if_e]: iface.conf.mesh_params = "mesh_auto_open_plinks=0" sta[0].reconf() sta[1].reconf() sta[2].reconf() time.sleep(3) if_a.add_mesh_peer(if_c) if_f.add_mesh_peer(if_b) if_d.add_mesh_peer(if_c) if_e.add_mesh_peer(if_b) perf_report = do_perf([if_a, if_d], if_d.ip) results[fname] = LinkReport(perf_report=perf_report)