[dts] [PATCH] add --crc-strip param when starting i40evf driver testpmd
Liu, Yong
yong.liu at intel.com
Wed Mar 8 06:44:53 CET 2017
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 at intel.com>; dts at 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 at intel.com>; dts at dpdk.org
> Cc: Lin, Xueqin <xueqin.lin at 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 at dpdk.org] On Behalf Of Xueqin Lin
> > Sent: Tuesday, March 07, 2017 11:41 AM
> > To: dts at dpdk.org
> > Cc: Lin, Xueqin <xueqin.lin at 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
More information about the dts
mailing list