Example #1
0
    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)
Example #2
0
    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))
Example #3
0
    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()
Example #4
0
    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()
Example #5
0
    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)