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

Xu, HuilongX huilongx.xu at intel.com
Mon May 15 03:27:10 CEST 2017



> -----Original Message-----
> From: Liu, Yong
> Sent: Friday, May 12, 2017 5:07 PM
> To: Xu, HuilongX; dts at dpdk.org
> Subject: Re: [dts] [PATCH V2] fix user space ethtool failed case
> 
> 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.
    I will update it next version
> 
> > +            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.
                     For Fortville nic when port stats change, should more time to update link stats. 
                      Update link stats maybe need 5 seconds in manual test, so we will sleep 10 seconds 
                      For every ports stats update in test case.
> >               # 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