[dts] [ PATCH V2] update framework for support fortville NIC test.
Qiu, Michael
michael.qiu at intel.com
Wed Jan 28 07:39:27 CET 2015
On 1/28/2015 2:29 PM, Xu, HuilongX wrote:
> Hi Michael,
> I will remove the code " if not os.path.exists("/sys/bus/pci/drivers/i40e/"+"0000:"+pci_bus):" in v3 patch,
> The code " self.send_expect("echo 0000:%s > /sys/bus/pci/drivers/i40e/bind" % pci_bus, "# ")" for dut and tester NIC restore default kernel driver, when finish test.
Actually, you may hold on for for v3, because Marvin has a plan
re-construct those code :)
But if this block your work, I think you should think out a solution
about to solve the error of "if not
os.path.exists("/sys/bus/pci/drivers/i40e/"+"0000:"+pci_bus)"
Thanks,
Michael
> Thanks a lot.
>
> -----Original Message-----
> From: Qiu, Michael
> Sent: Tuesday, January 27, 2015 4:46 PM
> To: Xu, HuilongX; dts at dpdk.org
> Subject: Re: [dts] [ PATCH V2] update framework for support fortville NIC test.
>
> On 1/27/2015 2:53 PM, Xu, HuilongX wrote:
>> Hi Michael,
>> Thanks a lot for your comments.
>> You can check my V2 patch.
>>
>>> + elif pci_id in ('8086:1583','8086:1584','8086:1572'):
>>> + if not os.path.exists("/sys/bus/pci/drivers/i40e/"+"0000:"+pci_bus):
>> This code is only support check the driver in tester, can’t check dut, so it’s a bug for check the driver status.
>> Maybe we can send a new patch for fix check driver stats. It need include all driver eg, ixgeb, igb,i40e,e1000...
>>
>> Thanks a lot
>>
>> -----Original Message-----
>> From: Qiu, Michael
>> Sent: Tuesday, January 27, 2015 2:41 PM
>> To: Xu, HuilongX; dts at dpdk.org
>> Subject: Re: [dts] [ PATCH V2] update framework for support fortville NIC test.
>>
>> Hi, huilong
>>
>> Have you seen my comments with your v1 patch?
>>
>> Also you'd better to make update patch within the original thread.
>>
>> Thanks,
>> Michael
>> On 1/27/2015 1:54 PM, huilongx.xu wrote:
>>> execution_fortville.cfg is the test case list for fortville NIC
>>>
>>> crb.py, add fortville NIC kernel driver(i40e) in dts
>>>
>>> settings.py, add fortville NIC info in dts
>>>
>>> test_case.py, insmod and used i40e for fortvill NIC
>>>
>>> Signed-off-by: huilongx.xu <huilongx.xu at intel.com>
>>> ---
>>> execution_fortville.cfg | 21 +++++++++++++++++++++
>>> framework/crb.py | 9 ++++++++-
>>> framework/settings.py | 6 ++++++
>>> framework/test_case.py | 4 ++++
>>> 4 files changed, 39 insertions(+), 1 deletions(-)
>>> create mode 100644 execution_fortville.cfg
>>>
>>> diff --git a/execution_fortville.cfg b/execution_fortville.cfg
>>> new file mode 100644
>>> index 0000000..15f2ccf
>>> --- /dev/null
>>> +++ b/execution_fortville.cfg
>>> @@ -0,0 +1,21 @@
>>> +[Execution1]
>>> +crbs=<CRB IP Address>
>>> +drivername=<driver name igb_uio or vfio-pci>
>>> +test_suites=
>>> + cmdline,
>>> + hello_world,
>>> + multiprocess,
>>> + blacklist
>>> +targets=
>>> + x86_64-native-linuxapp-gcc
>>> +parameters=nic_type=fortville_eagle:func=true
>>> +
>>> +[Execution2]
>>> +crbs=<Performance CRB IP Address>
>>> +drivername=<driver name igb_uio or vfio-pci>
>>> +test_suites=
>>> + l2fwd,
>>> + l3fwd
>>> +targets=
>>> + x86_64-native-linuxapp-gcc
>>> +parameters=nic_type=fortville_eagle:perf=true
>>> diff --git a/framework/crb.py b/framework/crb.py
>>> index d41f51b..efd23b2 100644
>>> --- a/framework/crb.py
>>> +++ b/framework/crb.py
>>> @@ -150,7 +150,11 @@ class Crb(object):
>>> self.send_expect("modprobe e1000e", "# ", 20)
>>> self.send_expect("modprobe e1000", "# ", 20)
>>> self.send_expect("modprobe virtio_net", "# ", 20)
>>> -
>>> +
>>> + self.send_expect("modprobe i40e", "# ", 60)
>>> + out = self.send_expect("lsmod |grep i40e", "# ", 30)
>>> + if "i40e" not in out:
>>> + self.logger.error("please check the os install i40e driver already.");
>>> try:
>>> for (pci_bus, pci_id) in self.pci_devices_info:
>>> """
>>> @@ -173,6 +177,9 @@ class Crb(object):
>>> self.send_expect("echo -n 0000:%s > /sys/bus/pci/drivers/e1000/bind" % pci_bus, "# ")
>>> elif pci_id in ('1af4:1000'):
>>> self.send_expect("echo 0000%s > /sys/bus/pci/drivers/virtio-pci/bind" % pci_bus, "# ")
>>> + elif pci_id in ('8086:1583','8086:1584','8086:1572'):
>>> + if not os.path.exists("/sys/bus/pci/drivers/i40e/"+"0000:"+pci_bus):
> You need to remove this line I think, not acceptable, as you
> os.path.exists, then why need self.send_expect() ?
>
> Actually, all these lines will be removed later.
>
> Thanks,
> Michael
>>> + self.send_expect("echo 0000:%s > /sys/bus/pci/drivers/i40e/bind" % pci_bus, "# ")
>>> else:
>>> continue
>>>
>>> diff --git a/framework/settings.py b/framework/settings.py
>>> index 2ef8db8..40b81fb 100644
>>> --- a/framework/settings.py
>>> +++ b/framework/settings.py
>>> @@ -55,6 +55,9 @@ NICS = {
>>> 'I217LM': '8086:153a',
>>> 'I218V': '8086:1559',
>>> 'I218LM': '8086:155a',
>>> + 'fortville_eagle': '8086:1572',
>>> + 'fortville_spirit': '8086:1583',
>>> + 'fortville_spirit_single': '8086:1584',
>>> }
>>>
>>> DRIVERS = {
>>> @@ -80,6 +83,9 @@ DRIVERS = {
>>> 'I217LM': 'igb',
>>> 'I218V': 'igb',
>>> 'I218LM': 'igb',
>>> + 'fortville_eagle': 'i40e',
>>> + 'fortville_spirit': 'i40e',
>>> + 'fortville_spirit_single':'i40e'
>>> }
>>>
>>> """
>>> diff --git a/framework/test_case.py b/framework/test_case.py
>>> index 706003f..07fdc36 100644
>>> --- a/framework/test_case.py
>>> +++ b/framework/test_case.py
>>> @@ -76,5 +76,9 @@ class TestCase(object):
>>> bitrate *= 10 # 10 Gb NICs
>>> elif self.nic == "avoton2c5":
>>> bitrate *= 2.5 # 2.5 Gb NICs
>>> + elif self.nic in ["fortville_spirit", "fortville_spirit_single"]:
>>> + bitrate *= 40
>>> + elif self.nic == 'fortville_eagle':
>>> + bitrate *= 10
>>>
>>> return bitrate * num_ports / 8 / (frame_size + 20)
>
More information about the dts
mailing list