test suite reviews and discussions
 help / color / mirror / Atom feed
* [dts] [PATCH] add --crc-strip param when starting i40evf driver testpmd
@ 2017-03-07  3:40 Xueqin Lin
  2017-03-08  1:33 ` Liu, Yong
  0 siblings, 1 reply; 5+ messages in thread
From: Xueqin Lin @ 2017-03-07  3:40 UTC (permalink / raw)
  To: dts; +Cc: Xueqin Lin

---
 framework/pmd_output.py | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/framework/pmd_output.py b/framework/pmd_output.py
index 13dcaef..7585088 100644
--- a/framework/pmd_output.py
+++ b/framework/pmd_output.py
@@ -31,9 +31,10 @@
 
 import os
 import re
+import settings
 from settings import TIMEOUT,PROTOCOL_PACKET_SIZE
 from utils import create_mask
-
+from serializer import Serializer
 
 class PmdOutput():
 
@@ -43,6 +44,7 @@ class PmdOutput():
 
     def __init__(self, dut):
         self.dut = dut
+        self.NAME = '%s' %dut
         self.dut.testpmd = self
         self.rx_pkts_prefix = "RX-packets:"
         self.rx_missed_prefix = "RX-missed:"
@@ -100,6 +102,16 @@ class PmdOutput():
         return self.command
 
     def start_testpmd(self, cores, param='', eal_param='', socket=0):
+        # add --crc-strip param to start testpmd for i40evf driver in VM
+        if "virt_dut" in self.NAME:
+            serializer = Serializer() 
+            ports_info = serializer.load('dut_port_info')
+            for port in ports_info:
+                pci_id = port['type']
+                driver = settings.get_nic_driver(pci_id)
+            if driver == "i40evf":
+                if "--crc-strip" not in param:
+                    param += " --crc-strip"
         # in dpdk2.0 need used --txqflags param to open hardware features
         if "--txqflags" not in param:
             param += " --txqflags=0"
-- 
2.5.5

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dts] [PATCH] add --crc-strip param when starting i40evf driver testpmd
  2017-03-07  3:40 [dts] [PATCH] add --crc-strip param when starting i40evf driver testpmd Xueqin Lin
@ 2017-03-08  1:33 ` Liu, Yong
  2017-03-08  2:51   ` Lin, Xueqin
  0 siblings, 1 reply; 5+ messages in thread
From: Liu, Yong @ 2017-03-08  1:33 UTC (permalink / raw)
  To: Lin, Xueqin, dts; +Cc: Lin, Xueqin

Hi Xueqin,
Some comments below.

> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Xueqin Lin
> Sent: Tuesday, March 07, 2017 11:41 AM
> To: dts@dpdk.org
> Cc: Lin, Xueqin <xueqin.lin@intel.com>
> Subject: [dts] [PATCH] add --crc-strip param when starting i40evf driver
> testpmd
> 
> ---
>  framework/pmd_output.py | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/framework/pmd_output.py b/framework/pmd_output.py
> index 13dcaef..7585088 100644
> --- a/framework/pmd_output.py
> +++ b/framework/pmd_output.py
> @@ -31,9 +31,10 @@
> 
>  import os
>  import re
> +import settings
>  from settings import TIMEOUT,PROTOCOL_PACKET_SIZE
>  from utils import create_mask
> -
> +from serializer import Serializer
> 
>  class PmdOutput():
> 
> @@ -43,6 +44,7 @@ class PmdOutput():
> 
>      def __init__(self, dut):
>          self.dut = dut
> +        self.NAME = '%s' %dut

Please check with pep8, should be space after "%".

>          self.dut.testpmd = self
>          self.rx_pkts_prefix = "RX-packets:"
>          self.rx_missed_prefix = "RX-missed:"
> @@ -100,6 +102,16 @@ class PmdOutput():
>          return self.command
> 
>      def start_testpmd(self, cores, param='', eal_param='', socket=0):
> +        # add --crc-strip param to start testpmd for i40evf driver in VM
> +        if "virt_dut" in self.NAME:
> +            serializer = Serializer()
> +            ports_info = serializer.load('dut_port_info')

Can't load dut port info without set serialize filename.
And cached info in dut_port_info is only scanned dut PF devices, VF devices won't be in it.

Suggest use this logic:

If white list option in eal command:
	Get devices list
Else:
	Get list of Ethernet devices which bound to self.drivername
	ls --file-type --color=never -a /sys/module/igb_uio/drivers/pci\:igb_uio/ |grep -v module | grep @
	if black list in eal param
		remove blacked device from the list

for device in device list:
	get default driver by GetNicObj(domain_id, bus_id, devfun_id)
	if 'i40evf' is the default driver:
		add crc-strip option


> +            for port in ports_info:
> +                pci_id = port['type']
> +                driver = settings.get_nic_driver(pci_id)
> +            if driver == "i40evf":
> +                if "--crc-strip" not in param:
> +                    param += " --crc-strip"
>          # in dpdk2.0 need used --txqflags param to open hardware features
>          if "--txqflags" not in param:
>              param += " --txqflags=0"
> --
> 2.5.5

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dts] [PATCH] add --crc-strip param when starting i40evf driver testpmd
  2017-03-08  1:33 ` Liu, Yong
@ 2017-03-08  2:51   ` Lin, Xueqin
  2017-03-08  5:44     ` Liu, Yong
  0 siblings, 1 reply; 5+ messages in thread
From: Lin, Xueqin @ 2017-03-08  2:51 UTC (permalink / raw)
  To: Liu, Yong, dts

Thanks for review, reply as below.

Best regards,
Xueqin


-----Original Message-----
From: Liu, Yong 
Sent: Wednesday, March 8, 2017 9:34 AM
To: Lin, Xueqin <xueqin.lin@intel.com>; dts@dpdk.org
Cc: Lin, Xueqin <xueqin.lin@intel.com>
Subject: RE: [dts] [PATCH] add --crc-strip param when starting i40evf driver testpmd

Hi Xueqin,
Some comments below.

> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Xueqin Lin
> Sent: Tuesday, March 07, 2017 11:41 AM
> To: dts@dpdk.org
> Cc: Lin, Xueqin <xueqin.lin@intel.com>
> Subject: [dts] [PATCH] add --crc-strip param when starting i40evf 
> driver testpmd
> 
> ---
>  framework/pmd_output.py | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/framework/pmd_output.py b/framework/pmd_output.py index 
> 13dcaef..7585088 100644
> --- a/framework/pmd_output.py
> +++ b/framework/pmd_output.py
> @@ -31,9 +31,10 @@
> 
>  import os
>  import re
> +import settings
>  from settings import TIMEOUT,PROTOCOL_PACKET_SIZE  from utils import 
> create_mask
> -
> +from serializer import Serializer
> 
>  class PmdOutput():
> 
> @@ -43,6 +44,7 @@ class PmdOutput():
> 
>      def __init__(self, dut):
>          self.dut = dut
> +        self.NAME = '%s' %dut

Please check with pep8, should be space after "%".

>          self.dut.testpmd = self
>          self.rx_pkts_prefix = "RX-packets:"
>          self.rx_missed_prefix = "RX-missed:"
> @@ -100,6 +102,16 @@ class PmdOutput():
>          return self.command
> 
>      def start_testpmd(self, cores, param='', eal_param='', socket=0):
> +        # add --crc-strip param to start testpmd for i40evf driver in VM
> +        if "virt_dut" in self.NAME:
> +            serializer = Serializer()
> +            ports_info = serializer.load('dut_port_info')

Can't load dut port info without set serialize filename.
And cached info in dut_port_info is only scanned dut PF devices, VF devices won't be in it.

I have verified these codes, could load dut port info successfully.
cached info in dut_port_info not only scan dut PF devices, if starting qemu, it caches VF devices info instead.

Suggest use this logic:

If white list option in eal command:
	Get devices list
Else:
	Get list of Ethernet devices which bound to self.drivername
	ls --file-type --color=never -a /sys/module/igb_uio/drivers/pci\:igb_uio/ |grep -v module | grep @
	if black list in eal param
		remove blacked device from the list

for device in device list:
	get default driver by GetNicObj(domain_id, bus_id, devfun_id)
	if 'i40evf' is the default driver:
		add crc-strip option


> +            for port in ports_info:
> +                pci_id = port['type']
> +                driver = settings.get_nic_driver(pci_id)
> +            if driver == "i40evf":
> +                if "--crc-strip" not in param:
> +                    param += " --crc-strip"
>          # in dpdk2.0 need used --txqflags param to open hardware features
>          if "--txqflags" not in param:
>              param += " --txqflags=0"
> --
> 2.5.5

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dts] [PATCH] add --crc-strip param when starting i40evf driver testpmd
  2017-03-08  2:51   ` Lin, Xueqin
@ 2017-03-08  5:44     ` Liu, Yong
  2017-03-08  8:19       ` Lin, Xueqin
  0 siblings, 1 reply; 5+ messages in thread
From: Liu, Yong @ 2017-03-08  5:44 UTC (permalink / raw)
  To: Lin, Xueqin, dts

Xueqin,
I missed that its running on vm_dut. PCI device info has been saved in self.dut.pci_devices_info.
There's no need to load serializer file.

Thanks,
Marvin

> -----Original Message-----
> From: Lin, Xueqin
> Sent: Wednesday, March 08, 2017 10:52 AM
> To: Liu, Yong <yong.liu@intel.com>; dts@dpdk.org
> Subject: RE: [dts] [PATCH] add --crc-strip param when starting i40evf
> driver testpmd
> 
> Thanks for review, reply as below.
> 
> Best regards,
> Xueqin
> 
> 
> -----Original Message-----
> From: Liu, Yong
> Sent: Wednesday, March 8, 2017 9:34 AM
> To: Lin, Xueqin <xueqin.lin@intel.com>; dts@dpdk.org
> Cc: Lin, Xueqin <xueqin.lin@intel.com>
> Subject: RE: [dts] [PATCH] add --crc-strip param when starting i40evf
> driver testpmd
> 
> Hi Xueqin,
> Some comments below.
> 
> > -----Original Message-----
> > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Xueqin Lin
> > Sent: Tuesday, March 07, 2017 11:41 AM
> > To: dts@dpdk.org
> > Cc: Lin, Xueqin <xueqin.lin@intel.com>
> > Subject: [dts] [PATCH] add --crc-strip param when starting i40evf
> > driver testpmd
> >
> > ---
> >  framework/pmd_output.py | 14 +++++++++++++-
> >  1 file changed, 13 insertions(+), 1 deletion(-)
> >
> > diff --git a/framework/pmd_output.py b/framework/pmd_output.py index
> > 13dcaef..7585088 100644
> > --- a/framework/pmd_output.py
> > +++ b/framework/pmd_output.py
> > @@ -31,9 +31,10 @@
> >
> >  import os
> >  import re
> > +import settings
> >  from settings import TIMEOUT,PROTOCOL_PACKET_SIZE  from utils import
> > create_mask
> > -
> > +from serializer import Serializer
> >
> >  class PmdOutput():
> >
> > @@ -43,6 +44,7 @@ class PmdOutput():
> >
> >      def __init__(self, dut):
> >          self.dut = dut
> > +        self.NAME = '%s' %dut
> 
> Please check with pep8, should be space after "%".
> 
> >          self.dut.testpmd = self
> >          self.rx_pkts_prefix = "RX-packets:"
> >          self.rx_missed_prefix = "RX-missed:"
> > @@ -100,6 +102,16 @@ class PmdOutput():
> >          return self.command
> >
> >      def start_testpmd(self, cores, param='', eal_param='', socket=0):
> > +        # add --crc-strip param to start testpmd for i40evf driver in
> VM
> > +        if "virt_dut" in self.NAME:
> > +            serializer = Serializer()
> > +            ports_info = serializer.load('dut_port_info')
> 
> Can't load dut port info without set serialize filename.
> And cached info in dut_port_info is only scanned dut PF devices, VF
> devices won't be in it.
> 
> I have verified these codes, could load dut port info successfully.
> cached info in dut_port_info not only scan dut PF devices, if starting
> qemu, it caches VF devices info instead.
> 
> Suggest use this logic:
> 
> If white list option in eal command:
> 	Get devices list
> Else:
> 	Get list of Ethernet devices which bound to self.drivername
> 	ls --file-type --color=never -a
> /sys/module/igb_uio/drivers/pci\:igb_uio/ |grep -v module | grep @
> 	if black list in eal param
> 		remove blacked device from the list
> 
> for device in device list:
> 	get default driver by GetNicObj(domain_id, bus_id, devfun_id)
> 	if 'i40evf' is the default driver:
> 		add crc-strip option
> 
> 
> > +            for port in ports_info:
> > +                pci_id = port['type']
> > +                driver = settings.get_nic_driver(pci_id)
> > +            if driver == "i40evf":
> > +                if "--crc-strip" not in param:
> > +                    param += " --crc-strip"
> >          # in dpdk2.0 need used --txqflags param to open hardware
> features
> >          if "--txqflags" not in param:
> >              param += " --txqflags=0"
> > --
> > 2.5.5

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dts] [PATCH] add --crc-strip param when starting i40evf driver testpmd
  2017-03-08  5:44     ` Liu, Yong
@ 2017-03-08  8:19       ` Lin, Xueqin
  0 siblings, 0 replies; 5+ messages in thread
From: Lin, Xueqin @ 2017-03-08  8:19 UTC (permalink / raw)
  To: Liu, Yong, dts

OK, I will fix it and use self.dut.pci_devices_info instead, thanks for review.

Best regards,
Xueqin


-----Original Message-----
From: Liu, Yong 
Sent: Wednesday, March 8, 2017 1:45 PM
To: Lin, Xueqin <xueqin.lin@intel.com>; dts@dpdk.org
Subject: RE: [dts] [PATCH] add --crc-strip param when starting i40evf driver testpmd

Xueqin,
I missed that its running on vm_dut. PCI device info has been saved in self.dut.pci_devices_info.
There's no need to load serializer file.

Thanks,
Marvin

> -----Original Message-----
> From: Lin, Xueqin
> Sent: Wednesday, March 08, 2017 10:52 AM
> To: Liu, Yong <yong.liu@intel.com>; dts@dpdk.org
> Subject: RE: [dts] [PATCH] add --crc-strip param when starting i40evf 
> driver testpmd
> 
> Thanks for review, reply as below.
> 
> Best regards,
> Xueqin
> 
> 
> -----Original Message-----
> From: Liu, Yong
> Sent: Wednesday, March 8, 2017 9:34 AM
> To: Lin, Xueqin <xueqin.lin@intel.com>; dts@dpdk.org
> Cc: Lin, Xueqin <xueqin.lin@intel.com>
> Subject: RE: [dts] [PATCH] add --crc-strip param when starting i40evf 
> driver testpmd
> 
> Hi Xueqin,
> Some comments below.
> 
> > -----Original Message-----
> > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Xueqin Lin
> > Sent: Tuesday, March 07, 2017 11:41 AM
> > To: dts@dpdk.org
> > Cc: Lin, Xueqin <xueqin.lin@intel.com>
> > Subject: [dts] [PATCH] add --crc-strip param when starting i40evf 
> > driver testpmd
> >
> > ---
> >  framework/pmd_output.py | 14 +++++++++++++-
> >  1 file changed, 13 insertions(+), 1 deletion(-)
> >
> > diff --git a/framework/pmd_output.py b/framework/pmd_output.py index
> > 13dcaef..7585088 100644
> > --- a/framework/pmd_output.py
> > +++ b/framework/pmd_output.py
> > @@ -31,9 +31,10 @@
> >
> >  import os
> >  import re
> > +import settings
> >  from settings import TIMEOUT,PROTOCOL_PACKET_SIZE  from utils 
> > import create_mask
> > -
> > +from serializer import Serializer
> >
> >  class PmdOutput():
> >
> > @@ -43,6 +44,7 @@ class PmdOutput():
> >
> >      def __init__(self, dut):
> >          self.dut = dut
> > +        self.NAME = '%s' %dut
> 
> Please check with pep8, should be space after "%".
> 
> >          self.dut.testpmd = self
> >          self.rx_pkts_prefix = "RX-packets:"
> >          self.rx_missed_prefix = "RX-missed:"
> > @@ -100,6 +102,16 @@ class PmdOutput():
> >          return self.command
> >
> >      def start_testpmd(self, cores, param='', eal_param='', socket=0):
> > +        # add --crc-strip param to start testpmd for i40evf driver 
> > + in
> VM
> > +        if "virt_dut" in self.NAME:
> > +            serializer = Serializer()
> > +            ports_info = serializer.load('dut_port_info')
> 
> Can't load dut port info without set serialize filename.
> And cached info in dut_port_info is only scanned dut PF devices, VF 
> devices won't be in it.
> 
> I have verified these codes, could load dut port info successfully.
> cached info in dut_port_info not only scan dut PF devices, if starting 
> qemu, it caches VF devices info instead.
> 
> Suggest use this logic:
> 
> If white list option in eal command:
> 	Get devices list
> Else:
> 	Get list of Ethernet devices which bound to self.drivername
> 	ls --file-type --color=never -a
> /sys/module/igb_uio/drivers/pci\:igb_uio/ |grep -v module | grep @
> 	if black list in eal param
> 		remove blacked device from the list
> 
> for device in device list:
> 	get default driver by GetNicObj(domain_id, bus_id, devfun_id)
> 	if 'i40evf' is the default driver:
> 		add crc-strip option
> 
> 
> > +            for port in ports_info:
> > +                pci_id = port['type']
> > +                driver = settings.get_nic_driver(pci_id)
> > +            if driver == "i40evf":
> > +                if "--crc-strip" not in param:
> > +                    param += " --crc-strip"
> >          # in dpdk2.0 need used --txqflags param to open hardware
> features
> >          if "--txqflags" not in param:
> >              param += " --txqflags=0"
> > --
> > 2.5.5

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-03-08  8:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-07  3:40 [dts] [PATCH] add --crc-strip param when starting i40evf driver testpmd Xueqin Lin
2017-03-08  1:33 ` Liu, Yong
2017-03-08  2:51   ` Lin, Xueqin
2017-03-08  5:44     ` Liu, Yong
2017-03-08  8:19       ` Lin, Xueqin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).