[dts] fix queue start stop case failed for fovtille nic

Liu, Yong yong.liu at intel.com
Mon Jul 6 09:06:38 CEST 2015


Huilong,
We'd better not change the dpdk code directly. If this case need to check whether receive packets as expected, we can use "set fwd rxonly; set verbose=1" for replacement.

Also dpdk code may be not in /root/dpdk, we can change base dir and test suite can operate on dpdk extracted to "self.dut.base_dir". 

> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of huilongx,xu
> Sent: Monday, July 06, 2015 2:55 PM
> To: dts at dpdk.org
> Subject: [dts] fix queue start stop case failed for fovtille nic
> 
> From: huilong xu <huilongx.xu at intel.com>
> 
> 
> Signed-off-by: huilong xu <huilongx.xu at intel.com>
> ---
>  tests/TestSuite_queue_start_stop.py |   21 ++++++++++-----------
>  1 files changed, 10 insertions(+), 11 deletions(-)
> 
> diff --git a/tests/TestSuite_queue_start_stop.py
> b/tests/TestSuite_queue_start_stop.py
> index 41777ac..3692aca 100644
> --- a/tests/TestSuite_queue_start_stop.py
> +++ b/tests/TestSuite_queue_start_stop.py
> @@ -92,23 +92,18 @@ class TestQueueStartStop(TestCase):
> 
>          self.tester.scapy_foreground()
> 
> -        if self.nic in ["fortville_eagle", "fortville_spirit",
> -                        "fortville_spirit_single", "bartonhills",
> -                        "powerville", "springville", "hartwell"]:
> -            pktlen = pktSize - 22
> -        else:
> -            pktlen = pktSize - 18
> +        pktlen = pktSize - 14
>          padding = pktlen - 20
> -
> self.tester.scapy_append('sendp([Ether(dst="%s")/IP()/Raw(load="\x50"*%s)],
> iface="%s")' % (mac, padding, txitf))
> +
> self.tester.scapy_append('sendp([Ether(dst="%s")/IP()/Raw(load="P"*%s)],
> iface="%s")' % (mac, padding, txitf))
> 
>          self.tester.scapy_execute()
>          time.sleep(3)
> 
>          out = self.tester.scapy_get_result()
>          if received:
> -            self.verify('\x50\x50\x50' in out, "start queue failed")
> +            self.verify('PPP' in out, "start queue failed")
>          else:
> -            self.verify('\x50\x50\x50' not in out, "stop queue failed")
> +            self.verify('PPP' not in out, "stop queue failed")
> 
>      def add_code_to_dpdk(self, file_name, standard_row, add_rows,
> offset=0):
>          """
> @@ -148,14 +143,15 @@ class TestQueueStartStop(TestCase):
>          """
>          queue start/stop test for fortville nic
>          """
> -        fwdmac_file = os.getcwd() + r'/dep/dpdk/app/test-pmd/macfwd.c'
> +        self.dut.session.copy_file_from(r'/root/dpdk/app/test-
> pmd/macfwd.c')
> +        fwdmac_file = 'macfwd.c'
>          printf_lines = ['printf("ports %u queue %u revice %u packages",
> fs->rx_port, fs->rx_queue, nb_rx);\n', r'printf("\n");',"\n"]
>          sourcelines = self.add_code_to_dpdk(fwdmac_file,
> r'(unlikely(nb_rx == 0)', printf_lines, 2)
>          self.dut.session.copy_file_to(fwdmac_file)
>          self.dut.send_expect('scp  /root/macfwd.c /root/dpdk/app/test-
> pmd/macfwd.c', "#")
>          self.dut.build_dpdk_apps('./app/test-pmd')
> 
> -        self.dut.send_expect("./app/test-pmd/testpmd -c 0xf -n 4 -- -i",
> "testpmd>", 120)
> +        self.dut.send_expect("./app/test-pmd/testpmd -c 0xf -n 4 -- -i --
> portmask=0x3", "testpmd>", 120)
>          self.dut.send_expect("set fwd mac", "testpmd>")
>          self.dut.send_expect("start", "testpmd>")
>          self.check_forwarding([0, 1], self.nic)
> @@ -185,11 +181,14 @@ class TestQueueStartStop(TestCase):
>          self.dut.send_expect("port 1 txq 0 start", "testpmd>")
>          self.dut.send_expect("start", "testpmd>")
>          self.check_forwarding([0, 1], self.nic)
> +        self.dut.send_expect("quit", "testpmd>")
> 
>          # recover testpmd changed
>          file_handel = open(fwdmac_file, "w")
>          file_handel.writelines(sourcelines)
>          file_handel.close()
> +        self.dut.session.copy_file_to(fwdmac_file)
> +        self.dut.send_expect('scp  /root/macfwd.c /root/dpdk/app/test-
> pmd/macfwd.c', "#")
> 
>      def tear_down(self):
>          """
> --
> 1.7.4.4



More information about the dts mailing list