netdev
[Top] [All Lists]

Re: [PATCH] PKT_SCHED: Provide compat policer stats in action policer

To: jamal <hadi@xxxxxxxxxx>
Subject: Re: [PATCH] PKT_SCHED: Provide compat policer stats in action policer
From: Thomas Graf <tgraf@xxxxxxx>
Date: Wed, 15 Dec 2004 16:22:52 +0100
Cc: Patrick McHardy <kaber@xxxxxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxx
In-reply-to: <1103119774.1077.74.camel@xxxxxxxxxxxxxxxx>
References: <20041215130128.GK8493@xxxxxxxxxxxxxx> <1103119774.1077.74.camel@xxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
* jamal <1103119774.1077.74.camel@xxxxxxxxxxxxxxxx> 2004-12-15 09:09
> 
> Hopefully this makes my point to Patrick earlier about regression
> testing? ;-> Good effort Thomas.

I generally agree with you but I also understand patrick's point. The
testsuite doesn't replace manual testing for explict changes but rather
helps to catch the easly forgotten cases.

I made some significant changes to the testsuite and I'm still adding
lots of tests. I already found a few minor bugs such as unhandled policer
results, unhandled error cases in action configuration which I will
push patches for once 2.6.10 is out.

The architecture currently looks like this:

 qdisc specific and generic tests
 foreach classful-qdisc
   classifier specific and generic tests
   foreach classifier
     action/policer/indev tests

generic tests include:
 - add,dump,delete,add,delete basic tests
 - stress tests (adding/dumping/deleting a few hundred objects)
 - statistics tests

So for example indev is tested K*I*N*M times where K is the number of
kernels available in my testing enviroment, I is the number of
iproute2 versions, N is the number of classful qdiscs and M is the
number of classifiers supporting indev.  This helps to catch bugs
specific to a certain module and can be used to check consistency
between various iproute2 modules.

/proc/conf.gz gets splitted up and is provided to the test scripts
as enviroment variables so they can easly check if the kernel is
capable of for example indev and if not check if it properly returns
an error code.

I will publish the latest testsuite as soon as I've finished writing
the most urgent tests.

<Prev in Thread] Current Thread [Next in Thread>