test suite reviews and discussions
 help / color / mirror / Atom feed
From: "Qiu, Michael" <michael.qiu@intel.com>
To: "Xu, HuilongX" <huilongx.xu@intel.com>, "dts@dpdk.org" <dts@dpdk.org>
Subject: Re: [dts] [PATCH] update framework for support fortville NIC test.
Date: Tue, 27 Jan 2015 05:32:58 +0000	[thread overview]
Message-ID: <533710CFB86FA344BFBF2D6802E60286CBAA45@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <1422329871-13274-1-git-send-email-huilongx.xu@intel.com>

On 1/27/2015 11:38 AM, 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
>
> testt_case.py, insmode and used i40e for fortvill NIC
>
> Signed-off-by: huilongx.xu <huilongx.xu@intel.com>
> ---
>  execution_fortville.cfg |   21 +++++++++++++++++++++
>  framework/crb.py        |    7 +++++++
>  framework/settings.py   |    6 ++++++
>  framework/test_case.py  |    4 ++++
>  4 files changed, 38 insertions(+), 0 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..e2e8d92 100644
> --- a/framework/crb.py
> +++ b/framework/crb.py
> @@ -151,6 +151,10 @@ class Crb(object):
>          self.send_expect("modprobe e1000", "# ", 20)
>          self.send_expect("modprobe virtio_net", "# ", 20)
>  
> +        self.send_expect("insmod /usr/lib/modules/%s/kernel/drivers/net/ethernet/intel/i40e/i40e.ko"%'`uname -r`', "# ", 60)

Here as it has in lib/modules, you can simply use:

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:

Here I have a patch to add one status ret value for command exec, so
Marvin will merge that.

And with that patch, here can simply like:

out = self.send_expect("modprobe i40e", "# ", 60, True)
if out == -1:
	self.logger.error("please verify the kernel has i40e driver installed");


>                  """
> @@ -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):

Here what are you doing?

As I know, os.path.exists() runs in locally, but you try to exec a command in remote after check, am I right?


> +                        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)


      parent reply	other threads:[~2015-01-27  5:35 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-27  3:37 huilongx.xu
2015-01-27  4:58 ` Liu, Yong
2015-01-27  5:37   ` Xu, HuilongX
2015-01-27  5:32 ` Qiu, Michael [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=533710CFB86FA344BFBF2D6802E60286CBAA45@SHSMSX101.ccr.corp.intel.com \
    --to=michael.qiu@intel.com \
    --cc=dts@dpdk.org \
    --cc=huilongx.xu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).