tc-testing: Restore original behaviour for namespaces in tdc
authorLucas Bates <lucasb@mojatatu.com>
Tue, 25 Jun 2019 01:00:27 +0000 (21:00 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 25 Jun 2019 19:57:29 +0000 (12:57 -0700)
commit489ce2f42514b4324e5c63e93ae7570cab995254
tree0f869655f2c64cb2d9b6a5260e0bf34b4d8eb7f5
parent27d92807f863173ecaf9eec5d3833bb5e31f440a
tc-testing: Restore original behaviour for namespaces in tdc

This patch restores the original behaviour for tdc prior to the
introduction of the plugin system, where the network namespace
functionality was split from the main script.

It introduces the concept of required plugins for testcases,
and will automatically load any plugin that isn't already
enabled when said plugin is required by even one testcase.

Additionally, the -n option for the nsPlugin is deprecated
so the default action is to make use of the namespaces.
Instead, we introduce -N to not use them, but still create
the veth pair.

buildebpfPlugin's -B option is also deprecated.

If a test cases requires the features of a specific plugin
in order to pass, it should instead include a new key/value
pair describing plugin interactions:

        "plugins": {
                "requires": "buildebpfPlugin"
        },

A test case can have more than one required plugin: a list
can be inserted as the value for 'requires'.

Signed-off-by: Lucas Bates <lucasb@mojatatu.com>
Acked-by: Davide Caratti <dcaratti@redhat.com>
Tested-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/tc-testing/README
tools/testing/selftests/tc-testing/plugin-lib/buildebpfPlugin.py
tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py
tools/testing/selftests/tc-testing/tc-tests/actions/bpf.json
tools/testing/selftests/tc-testing/tc-tests/filters/fw.json
tools/testing/selftests/tc-testing/tc-tests/filters/tests.json
tools/testing/selftests/tc-testing/tdc.py
tools/testing/selftests/tc-testing/tdc_helper.py