[dts] [PATCH V2] fix user space ethtool failed case

Liu, Yong yong.liu at intel.com
Fri May 12 11:07:15 CEST 2017


Huilong, some comments below.

On 05/12/2017 03:44 PM, xu,huilong wrote:
> 1. update user space ethtool compile error, becauese the example path update in dpdk already
> 2. kernel space ethtool dump nic eeprom file size differnet dpdk user space ethtool, so should
>     cat out dpdk ethtool dump nic eeprom file and the file size same with kernel ethtool. then use
>     file md5 check the file is same
>
> Signed-off-by: xu,huilong <huilongx.xu at intel.com>
> ---
>   tests/TestSuite_userspace_ethtool.py | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/tests/TestSuite_userspace_ethtool.py b/tests/TestSuite_userspace_ethtool.py
> index 937a9e5..36ff104 100644
> --- a/tests/TestSuite_userspace_ethtool.py
> +++ b/tests/TestSuite_userspace_ethtool.py
> @@ -61,7 +61,7 @@ class TestUserspaceEthtool(TestCase, IxiaPacketGenerator):
>           self.verify("Error" not in out, "compilation error 1")
>           self.verify("No such file" not in out, "compilation error 2")
>   
> -        path = "./examples/ethtool/ethtool-app/ethtool-app/%s/ethtool" % self.target
> +        path = "./examples/ethtool/ethtool-app/%s/ethtool" % self.target
>           self.cmd = "%s -c f -n %d" % (path, self.dut.get_memory_channels())
>   
>           # pause frame basic configuration
> @@ -370,7 +370,9 @@ class TestUserspaceEthtool(TestCase, IxiaPacketGenerator):
>               self.dut.send_expect("ethtool --eeprom-dump %s raw on > %s" % (intf, ethtool_eeprom), "# ")
>               # wait for file ready
>               time.sleep(2)
> -            portinfo['ethtool_eeprom'] = ethtool_eeprom
> +            dpdk_eeprom_size = int(self.dut.send_expect('ls -all %s' % portinfo['eeprom_file'], '# ').split(' ')[4].strip())
There's one simple command "stat -c \%s file" to strip file size.

> +            self.dut.send_expect('dd if=%s of=%s bs=%d count=1' % (ethtool_eeprom, "ethtool_eeprom_%d_cat.bin" % index, dpdk_eeprom_size), "#")
> +            portinfo['ethtool_eeprom'] = "ethtool_eeprom_%d_cat.bin" % index
>               # bind to original driver
>               portinfo['net_dev'].bind_driver(portinfo['ori_driver'])
>   
> @@ -499,8 +501,10 @@ class TestUserspaceEthtool(TestCase, IxiaPacketGenerator):
>           for index in range(len(self.ports)):
>               port = self.ports[index]
>               ori_rx_pkts, _ = self.strip_portstats(index)
> +            time.sleep(10)
>               # stop port
>               self.dut.send_expect("stop %d" % index, "EthApp>")
> +            time.sleep(10)

Sleep 20 seconds seem too long, please explain why need this.
>               # check packet not forwarded when port is stop
>               pkt = Packet()
>               tester_port = self.tester.get_local_port(port)



More information about the dts mailing list