[dts] [PATCH V1] tests/pvp_qemu_multi_paths_port_restart: update code to support trex

Wang, Yinan yinan.wang at intel.com
Wed Aug 14 04:40:35 CEST 2019


Acked-by: Wang, Yinan <yinan.wang at intel.com>

> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of lihong
> Sent: 2019年8月13日 9:16
> To: dts at dpdk.org
> Cc: Ma, LihongX <lihongx.ma at intel.com>
> Subject: [dts] [PATCH V1] tests/pvp_qemu_multi_paths_port_restart: update
> code to support trex
> 
> Signed-off-by: lihong <lihongx.ma at intel.com>
> ---
>  .../TestSuite_pvp_qemu_multi_paths_port_restart.py | 26
> +++++++++++++++-------
>  1 file changed, 18 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/TestSuite_pvp_qemu_multi_paths_port_restart.py
> b/tests/TestSuite_pvp_qemu_multi_paths_port_restart.py
> index 81328e0..429628c 100644
> --- a/tests/TestSuite_pvp_qemu_multi_paths_port_restart.py
> +++ b/tests/TestSuite_pvp_qemu_multi_paths_port_restart.py
> @@ -41,9 +41,10 @@ port restart test with each path  import utils  import time
> import re -from settings import HEADER_SIZE  from virt_common import VM
> from test_case import TestCase
> +from packet import Packet, save_packets from pktgen import
> +PacketGeneratorHelper
> 
> 
>  class TestPVPQemuMultiPathPortRestart(TestCase):
> @@ -65,6 +66,13 @@ class TestPVPQemuMultiPathPortRestart(TestCase):
>          self.vm_dut = None
>          self.virtio1_mac = "52:54:00:00:00:01"
> 
> +        self.out_path = '/tmp'
> +        out = self.tester.send_expect('ls -d %s' % self.out_path, '# ')
> +        if 'No such file or directory' in out:
> +            self.tester.send_expect('mkdir -p %s' % self.out_path, '# ')
> +        # create an instance to set stream field setting
> +        self.pktgen_helper = PacketGeneratorHelper()
> +
>      def set_up(self):
>          """
>          Run before each test case.
> @@ -195,16 +203,18 @@ class TestPVPQemuMultiPathPortRestart(TestCase):
>          """
>          start to send packet and get the throughput
>          """
> -        payload = frame_size - HEADER_SIZE['eth'] - HEADER_SIZE['ip']
> -        flow =
> '[Ether(dst="%s")/IP(src="192.168.4.1",dst="192.168.3.1")/("X"*%d)]' % (
> -            self.dst_mac, payload)
> -        self.tester.scapy_append('wrpcap("pvp_multipath.pcap", %s)' % flow)
> -        self.tester.scapy_execute()
> +        pkt = Packet(pkt_type='IP_RAW', pkt_len=frame_size)
> +        pkt.config_layer('ether', {'dst': '%s' % self.dst_mac})
> +        save_packets([pkt], "%s/pvp_multipath.pcap" % (self.out_path))
> 
>          tgenInput = []
>          port = self.tester.get_local_port(self.dut_ports[0])
> -        tgenInput.append((port, port, "pvp_multipath.pcap"))
> -        _, pps = self.tester.traffic_generator_throughput(tgenInput, delay=30)
> +        tgenInput.append((port, port, "%s/pvp_multipath.pcap" %
> self.out_path))
> +        self.tester.pktgen.clear_streams()
> +        streams =
> self.pktgen_helper.prepare_stream_from_tginput(tgenInput, 100, None,
> self.tester.pktgen)
> +        # set traffic option
> +        traffic_opt = {'delay': 5}
> +        _, pps =
> + self.tester.pktgen.measure_throughput(stream_ids=streams,
> + options=traffic_opt)
>          Mpps = pps / 1000000.0
>          self.verify(Mpps > 0, "can not receive packets of frame size %d" %
> (frame_size))
>          throughput = Mpps * 100 / \
> --
> 2.7.4



More information about the dts mailing list