[dts] [ PATCH V2] update framework for support fortville NIC test.

Xu, HuilongX huilongx.xu at intel.com
Wed Jan 28 07:29:51 CET 2015


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.

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