* jamal <1102509111.1051.54.camel@xxxxxxxxxxxxxxxx> 2004-12-08 07:31
> On Wed, 2004-12-08 at 00:17, Patrick McHardy wrote:
> > I think these tests are a waste of time. struct tcf_police is not
> > userspace-visible, so it's highly unlikely that the tc version matters.
> > Why an old kernel needs to be tested is beyond me.
> Regression testing.
> You need both backward and forward compatibility.
> Old kernels must continue to work with new tc for the policer using the
> old syntax.
> new kernels must continue to work with old tc for policer management
> using old syntax.
> Policer existed before any tc action code was written and has a very
> different layout of the structure. User tools and classifiers (accessed
> from user tools) do touch that code.
> These kind of tests constitute about 50% or more of my testing.
I invested some time to ease testing since this was primarly my fault
by overlooking the special case of tcf_police.
I've put together a small testsuite allowing to easly run tests for
multiple versions of iproute2. It can be found at:
One simply extracts various iproute2 versions into iproute2/ and
sets KERNEL_INCLUDE if needed for older versions. 'make compile' on
the top level compiles all the versions.
The tests are defined in tests/ and are simple shell scripts and get
invoked for every iproute2 verison in iproute2 with $TC and $IP
set to the version currently being tested. The output of every test
run is stored in results/$TEST.$IPVERSION.out respectively .dmesg.
'make clean' removes all the results again.
'make liststests' lists all the available tests.
'make alltests' runs all the tests.
I've run all the tests on my patch with the following kernels and
- 2.6.10-rc2-bk13 (actions compiled in)
- 2.6.10-rc2-bk13-no-act (old policer compiled in)
- iproute2-2.6.9-tgr (with all my patches in)
iproute-2.6.9 was sucessful with all kernels. I couldn't test with the
old 2.4.7 iproute2 yet since the syntax has changed and I need to adopt
the tests first. I will create better tests and run it on patrick's
patch when I get home.