[ovs-dev] [PATCH 00/10] PMD Testsuite.
Ilya Maximets
i.maximets at samsung.com
Fri Mar 18 12:01:20 UTC 2016
On 18.03.2016 05:13, Daniele Di Proietto wrote:
> 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.
OK.
>
> 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.
Separation was done to avoid modification of existing tests(keep same name).
I'll enable them all in v2.
>
> * netdev_dummy_set_multiq can be used even by the non pmd dummy class
> (even though it's probably not that useful)
OK.
>
> What do you think?
I'll check test cases and try to find most suitable for retest with
'dummy_pmd'.
>
> 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