def test_acl_qos_a2(self):

        # 初始化
        fun.iperf_kill()

        # 下发配置并检查结果
        for key in self.case2_step:
            fun.cmd(self.case2_step[key][0], 'gw')
            re = fun.cmd(self.case2_step[key][1], 'gw')
            assert self.case2_step[key][2] in re

        # 服务端占用端口
        fun.cmd(f'iperf3 -s -p {qos_port} --logfile s.txt', 's', thread=1)
        time.sleep(5)

        # 发送报文
        c_cmd = fun.cmd(
            f'iperf3 -c {pcap_dip} -p {qos_port} -i 1 -u -t 5 -b 30M -P 5',
            'c')
        print(c_cmd)

        # 检查速率是否正确
        s_txt = fun.cmd('cat s.txt', 's')
        speed_list = fun.qos_speed('s.txt', s_txt)
        for i in speed_list:
            print(i)
            assert 9.0 <= float(i) <= 10.0

        #关闭selabel开关再开启
        fun.cmd('export cardid=0&&defconf --selabel off', 'gw')
        fun.cmd('export cardid=1&&defconf --selabel off', 'gw')
        fun.iperf_kill()
        fun.cmd('export cardid=0&&defconf --selabel on', 'gw')
        fun.cmd('export cardid=1&&defconf --selabel on', 'gw')

        # 服务端占用端口
        fun.cmd(f'iperf3 -s -p {qos_port} --logfile s.txt', 's', thread=1)
        time.sleep(5)

        # 发送报文
        c_cmd = fun.cmd(
            f'iperf3 -c {pcap_dip} -p {qos_port} -i 1 -u -t 5 -b 30M -P 5',
            'c')
        print(c_cmd)

        # 检查速率是否正确
        s_txt = fun.cmd('cat s.txt', 's')
        speed_list = fun.qos_speed('s.txt', s_txt)
        for i in speed_list:
            print(i)
            assert 9.0 <= float(i) <= 10.0
    def test_qos_qbucket_a2(self):

        # 初始化
        fun.iperf_kill()

        # 下发配置并检查结果
        for key in self.case2_step:
            fun.cmd(self.case2_step[key][0], 'gw')
            re = fun.cmd(self.case2_step[key][1], 'gw')
            assert self.case2_step[key][2] in re

        # 服务端占用端口
        fun.cmd(f'iperf3 -s -p {qos_port} --logfile s.txt', 's', thread=1)
        time.sleep(5)

        # 发送报文
        c_cmd = fun.cmd(
            f'iperf3 -c {pcap_dip} -p {qos_port} -i 1 -u -t 5 -b 30M -P 5',
            'c')
        print(c_cmd)

        # 检查速率是否正确
        s_txt = fun.cmd('cat s.txt', 's')
        s_speed = fun.qos_speed('s.txt', s_txt, qbucket='s')
        assert 9.0 <= float(s_speed) <= 10.0
Exemple #3
0
    def test_qos_qbucket_a1(self):

        # 初始化
        fun.iperf_kill()

        # 下发配置并检查结果
        for key in self.case1_step:
            fun.cmd(self.case1_step[key][0], 'gw')
            re = fun.cmd(self.case1_step[key][1], 'gw')
            assert self.case1_step[key][2] in re

        # 服务端占用端口
        print('服务端占用端口:', f'iperf3 -s -p {qos_port} --logfile s.txt')
        fun.cmd(f'iperf3 -s -p {qos_port} --logfile s.txt', 's', thread=1)
        time.sleep(5)

        # 发送报文
        print('发送报文:',
              f'iperf3 -c {pcap_dip} -p {qos_port} -i 1 -u -t 5 -b 30M -P 5')
        c_cmd = fun.cmd(
            f'iperf3 -c {pcap_dip} -p {qos_port} -i 1 -u -t 5 -b 30M -P 5',
            'c')
        print('c_cmd: ', c_cmd)

        # 检查速率是否正确
        s_txt = fun.cmd('cat s.txt', 's')
        print('s_txt: ', s_txt)
        speed_list = fun.qos_speed('s.txt', s_txt)
        print('speed_list: ', speed_list)
        for i in speed_list:
            print(i)
            assert 9.0 <= float(i) <= 10.0
Exemple #4
0
    def test_qos_type_udp_a2(self):

        # 下发配置并检查结果
        for key in self.case2_step:
            fun.cmd(self.case2_step[key][0], 'gw')
            re = fun.cmd(self.case2_step[key][1], 'gw')
            assert self.case2_step[key][2] in re

        # 服务端占用端口
        fun.cmd(f'iperf3 -s -p {qos_port} --logfile s.txt', 's', thread=1)
        time.sleep(5)

        # 发送报文
        c_cmd = fun.cmd(
            f'iperf3 -c {pcap_dip} -p {qos_port} -i 1 -t 5 -b 30M -P 5', 'c')
        print(c_cmd)

        # 检查速率是否正确
        s_txt = fun.cmd('cat s.txt', 's')
        speed_list = fun.qos_speed('qos_type_udp_a2.txt', s_txt)
        for i in speed_list:
            print(i)
            assert 29.0 <= float(i) <= 30.0