[dts] [PATCH] framework: wait 10 seconds after testpmd starts to ensure link is up

Liu, Yong yong.liu at intel.com
Mon Aug 7 04:42:02 CEST 2017


Hi Herbert,
Not every kind of NIC will output link up message, e.g. FVL will not show "Link Up" when LSC event coming. 
Waiting for "LSC event" will be more suitable for the expecting prompt. 

Agreed with change in pmd_ouput module, waiting 10 seconds will ensure the stability of link status.

Thanks,
Marvin

> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Herbert Guan
> Sent: Friday, August 04, 2017 3:20 PM
> To: dts at dpdk.org; jianbo.liu at linaro.org
> Cc: Herbert Guan <herbert.guan at arm.com>
> Subject: [dts] [PATCH] framework: wait 10 seconds after testpmd starts to
> ensure link is up
> 
> It'll take some time for links up after testpmd is started.
> Before that "testpmd>" will be prompted but test shall not start
> until links are up.  "Link Up" is a better checker for a specific
> test case.  While since pmd_output.py is usd by many test cases, wait
> 10 seconds will be safer, in case of some test cases do not actually
> expect for an established link.
> 
> Signed-off-by: Herbert Guan <herbert.guan at arm.com>
> ---
>  framework/pmd_output.py             | 3 +++
>  tests/TestSuite_dynamic_config.py   | 2 +-
>  tests/TestSuite_queue_start_stop.py | 2 +-
>  3 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/framework/pmd_output.py b/framework/pmd_output.py
> index 260f42c..2d1e3d7 100644
> --- a/framework/pmd_output.py
> +++ b/framework/pmd_output.py
> @@ -31,6 +31,7 @@
> 
>  import os
>  import re
> +from time import sleep
>  from settings import TIMEOUT, PROTOCOL_PACKET_SIZE, get_nic_driver
>  from utils import create_mask
> 
> @@ -119,6 +120,8 @@ class PmdOutput():
>              command += " --disable-hw-vlan-filter"
>          out = self.dut.send_expect(command, "testpmd> ", 120)
>          self.command = command
> +        # wait 10s to ensure links getting up before test start.
> +        sleep(10)
>          return out
> 
>      def execute_cmd(self, pmd_cmd, expected='testpmd> ', timeout=TIMEOUT,
> diff --git a/tests/TestSuite_dynamic_config.py
> b/tests/TestSuite_dynamic_config.py
> index b4ddede..e344aac 100644
> --- a/tests/TestSuite_dynamic_config.py
> +++ b/tests/TestSuite_dynamic_config.py
> @@ -121,7 +121,7 @@ class TestDynamicConfig(TestCase):
>  	if "cavium" in self.dut.nic_type:
>              cmd += " --disable-hw-vlan-filter"
> 
> -        self.dut.send_expect("%s" % cmd, "testpmd> ", 120)
> +        self.dut.send_expect("%s" % cmd, "Link Up", 120)
>          self.dut.send_expect("start", "testpmd> ", 120)
> 
> 
> diff --git a/tests/TestSuite_queue_start_stop.py
> b/tests/TestSuite_queue_start_stop.py
> index d1df66b..9e190f6 100644
> --- a/tests/TestSuite_queue_start_stop.py
> +++ b/tests/TestSuite_queue_start_stop.py
> @@ -130,7 +130,7 @@ class TestQueueStartStop(TestCase):
>          """
>          #dpdk start
>          try:
> -            self.dut.send_expect("./app/test-pmd/testpmd -c 0xf -n 4 -- -
> i --portmask=0x1 --port-topology=loop", "testpmd>", 120)
> +            self.dut.send_expect("./app/test-pmd/testpmd -c 0xf -n 4 -- -
> i --portmask=0x1 --port-topology=loop", "Link Up", 120)
>              self.dut.send_expect("set fwd mac", "testpmd>")
>              self.dut.send_expect("start", "testpmd>")
>              self.check_forwarding([0, 0], self.nic)
> --
> 1.8.3.1



More information about the dts mailing list