[dts] Adding support for a new NIC on DTS
Xu, Qian Q
qian.q.xu at intel.com
Thu Sep 10 07:36:37 CEST 2015
See my comments below inline.
From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Eric Kadison
Sent: Thursday, September 10, 2015 12:25 PM
To: Liu, Yong; dts at dpdk.org
Subject: Re: [dts] Adding support for a new NIC on DTS
Thank you for your reply. My execution.cfg contains:
[Qian]If you are using the port.cfg for the port configuration, can set as:nic_type=cfg
- The DUT_PORT_MAP is built correctly. So the discovery process on the DUT has found my NIC and discovered the correct connections to the Tester. The ports.cfg file has not been changed from its default.
- The NIC is bound to our PMC correctly. This is clear in the output log. At DTS completion, the kernel driver is reloaded properly.
- As you can see, I have figured out that the "drivername" argument is required and must contain the name of the uio driver. My settings.py file contains the driver name of the kernel driver for my NIC (not the PMD).
- As you can see, I've tried the l3fwd and the jumboframes test suites. Neither works. The helloworld test was successful.
- The l3fwd test performs setup and then runs no test cases. It appears that DTS will only run the test cases if called out on the command line, though I don't know why?? When I tried to add a test case function name to the command line, it still ran nothing.
[Qian] L3fwd is the performance test suite, in your above execution.cfg file, you set perf=false, then it will not execute performance test "test_perf_xxx", all performance tests will be like" test_perf_xxx"; besides, in our l3fwd performance case, we use the Ixia as packet generator, and config the ixia port in the conf/ixia.cfg, if you have ixia, you can connect your NIC ports to the ixia and run.
- The jumboframes test executes, but reports errors. We are investigating whether or not these errors might be actual errors in our PMD or NIC or the test case code, but other (non-DTS) tests for jumbo frames have passed. The errors are on all the jumbo test cases (the nojumbo test case passes). One test case fails with a Timeout on the "show port stats 0 " command. The log files and the test_results.xls file both show the passes and failures.
A few questions:
1. Should we expect the jumboframes test case to pass with an arbitrary NIC with a working PMD?
2. What is needed to make the l3fwd test case execute?
[Qian] set perf=true, and connect it to Ixia ports, configure conf/ixia.cfg.
3. Can you suggest a test suite that should run without being customized to a specific NIC?
4. It appears that the conf directory contains a collection of configuration files that may be needed under certain circumstances. Can you either define when these are needed or point me to documentation that so defines?
> -----Original Message-----
> From: Liu, Yong [mailto:yong.liu at intel.com]
> Sent: Saturday, September 05, 2015 5:48 PM
> To: Eric Kadison; dts at dpdk.org
> Subject: RE: Adding support for a new NIC on DTS
> Hi Eric,
> Can you show your settings in execution.cfg? By default NIC port type is "cfg"
> which mean DTS will only load ports which defined in conf/ports.cfg.
> Here is one sample for port configuration file. Setting "pci" mean the
> pci address of DUT port, "peer" mean the opposite test port pci address.
> [root at dpdk-test38 dts]# cat conf/ports.cfg [DUT IP] ports=
> > -----Original Message-----
> > From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Eric Kadison
> > Sent: Thursday, September 03, 2015 6:36 AM
> > To: dts at dpdk.org
> > Subject: [dts] Adding support for a new NIC on DTS
> > Hi everyone,
> > I'm trying to add support for a new NIC to DTS. It is clear that
> > the driver needs to be identified in the settings.py file (by adding
> > to the NICS dict the device name (as the key) and PCI ID (as the
> > value), and then adding the kernel driver name (as value) to the
> > same key in the DRIVERS dict). Did I miss anything?
> > After entering my DUT host computer information in crbs.py, and
> > setting up execution.cfg, I expected some basic tests to run. The
> > hello_world test ran successfully, but it does not bind my ports to
> > the igb_uio driver. So no test that tries to run I/O runs. In
> > fact, it looks like the code in the project_dpdk.py file in
> > set_target tries to bind the NIC to the kernel driver. Can anyone point me at a solution?
> > Test configuration use DTS from the master branch and DPDK 2.0.
> > Eric Kadison
More information about the dts