[ovs-dev] [PATCH 00/10] PMD Testsuite.

Daniele Di Proietto diproiettod at vmware.com
Fri Mar 18 02:13:22 UTC 2016


I'd be happy to merge the pmd tests with their requirements.

I think we can convert a few tests (~10 or something) to be run with pmds
and non-pmd datapaths (using an approach similar to d13c05eef713, maybe).
I would still prefer avoiding adding 500 tests, even though we found one
bug with them.

I've skimmed through the series and I have a few preliminary comments:

* I think we should always register both 'dummy' and 'dummy_pmd' classes.
  We can imagine a test where the local port 'br0' is a dummy device,
  while the other interfaces are dummy_pmd.

* netdev_dummy_set_multiq can be used even by the non pmd dummy class
  (even though it's probably not that useful)

What do you think?

Thanks,

Daniele

On 17/03/2016 06:58, "Ilya Maximets" <i.maximets at samsung.com> wrote:

>Hi, Daniele.
>
>On 17.03.2016 03:53, Daniele Di Proietto wrote:
>> Hi Ilya,
>> 
>> thanks for the series, I think it's going to ease development of
>> dpif-netdev a lot.
>> 
>> I have been thinking about doing the same for a while and I've also
>> sketched out some code, which is very similar to this :-) (I've merged
>> the first patch).
>
>Thanks.
>
>> 
>> The interesting thing about this tests for me is that we get coverage
>> for the code that handles pmd threads and rxqs in dpif-netdev. I'm
>> talking about the tests in the last patch, to be clear.
>> 
>> I'm still not 100% convinced that we need to introduce another target
>> (check-pmd) and rerun most of the testsuite for these reasons:
>> 
>> * Most of the code and the branches stressed by 'make check-pmd' are
>>   already tested in 'make check'.
>
>I know that many test cases in new target are indifferent to port type,
>but it's a long and boring task to find out which of this ~500 tests
>are really useful. (Many of them are 100% useful. For example:
>'dpctl/flow-get' currently broken in master and fixed in this patch-set)
>Also, this requires a huge refactoring of testsuite to be able to run
>particular tests with different port types.
>
>>   To have coverage for the pmd specific
>>   conditions in dpif-netdev and ofproto-dpif we still need to write
>>   special testcases (e.g. imagine a testcase to cover the bug fixed by
>>   e4e74c3a2b9a)
>
>Yes. This is actually the real purpose of this series: To prepare
>environment for new PMD specific tests. I prepared only 4 tests here,
>but it's easy to write more with this patch set. And I hope we
>will extend 'tests/pmd.at' a lot in the future.
>
>> * The 'make check' test suite is run by developers for most of their
>>   changes.  If we add tests there we make sure that nobody will break
>>   the pmd code when changing something.
>
>That's would be great.
>
>> 
>> What do you think?  Is there a particular reason why you chose to
>> add another test suite?
>
>Actually no. Previously I thought that it will require serious refactoring
>of original testsuite, but now I realized that it's easy to put all
>tests together in 'make check'.
>
>So, I can add all this tests to 'make check'.
>
>What do you think? And would you like me to post v2 with all tests in
>one target 'make check'?
>
>Best regards, Ilya Maximets.
>
>> 
>> Thanks,
>> 
>> Daniele
>> 
>> On 14/03/2016 08:18, "Ilya Maximets" <i.maximets at samsung.com> wrote:
>> 
>>> New 'dummy_pmd' class created in purposes of testing of PMD interfaces.
>>> Added new target 'make check-pmd' and a bunch of PMD specific tests.
>>>
>>> Ilya Maximets (10):
>>>  netdev: New field 'is_pmd' in netdev_class.
>>>  dummy: Add dummy_pmd class.
>>>  dpctl: Implement dpctl/flow-get for dpif-netdev.
>>>  ofproto-dpif.at: Ignore port type while checking result of
>>>    dpctl/dump-flows.
>>>  ofproto-dpif.at: Allow output from all threads in 'patch ports -
>>>    stack'.
>>>  automake.mk: New target 'check-pmd'.
>>>  netdev-dummy: Queue packets only to one rx queue.
>>>  testsuite: Filter out unnecessary info about queues for dummy ports.
>>>  netdev-dummy: Add fake multiqueue support to dummy_pmd.
>>>  testsuite-pmd: Add PMD specific tests.
>>>
>>> NEWS                      |   1 +
>>> lib/dpctl.c               |   3 +-
>>> lib/dpif-netdev.c         |  49 ++++++++---
>>> lib/dummy.c               |  34 ++++---
>>> lib/dummy.h               |   8 +-
>>> lib/netdev-bsd.c          |   1 +
>>> lib/netdev-dpdk.c         |   1 +
>>> lib/netdev-dummy.c        | 220
>>> ++++++++++++++++++++++++++++------------------
>>> lib/netdev-linux.c        |   1 +
>>> lib/netdev-provider.h     |   3 +
>>> lib/netdev-vport.c        |  20 +++--
>>> lib/netdev-windows.c      |   1 +
>>> lib/netdev.c              |   5 +-
>>> tests/automake.mk         |  18 +++-
>>> tests/bridge.at           |   6 +-
>>> tests/completion.at       |   3 +-
>>> tests/dpctl.at            |   8 +-
>>> tests/dummy-macros.at     |   8 ++
>>> tests/dummy-pmd-macros.at |   8 ++
>>> tests/mpls-xlate.at       |   2 +-
>>> tests/ofproto-dpif.at     |  42 ++++-----
>>> tests/ofproto-macros.at   |  12 +--
>>> tests/ovs-ofctl.at        |   2 +-
>>> tests/ovs-vswitchd.at     |   2 +-
>>> tests/pmd.at              | 199
>>>+++++++++++++++++++++++++++++++++++++++++
>>> tests/testsuite-pmd.at    |  47 ++++++++++
>>> tests/testsuite.at        |   1 +
>>> tests/tunnel-push-pop.at  |   2 +-
>>> tests/tunnel.at           |  28 +++---
>>> 29 files changed, 552 insertions(+), 183 deletions(-)
>>> create mode 100644 tests/dummy-macros.at
>>> create mode 100644 tests/dummy-pmd-macros.at
>>> create mode 100644 tests/pmd.at
>>> create mode 100644 tests/testsuite-pmd.at
>>>
>>> -- 
>>> 2.5.0
>>>
>> 
>> 
>> 




More information about the dev mailing list