[dts] [PATCH] add --crc-strip param when starting i40evf driver testpmd
Lin, Xueqin
xueqin.lin at intel.com
Wed Mar 8 03:51:30 CET 2017
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