mbox series

[net-next,v2,00/15] add tc-testing qdisc test cases

Message ID 20220921025052.23465-1-shaozhengchao@huawei.com (mailing list archive)
Headers show
Series add tc-testing qdisc test cases | expand

Message

shaozhengchao Sept. 21, 2022, 2:50 a.m. UTC
For this patchset, test cases of the qdisc modules are added to the
tc-testing test suite.

After a test case is added locally, the test result is as follows:

./tdc.py -c atm
ok 1 7628 - Create ATM with default setting
ok 2 390a - Delete ATM with valid handle
ok 3 32a0 - Show ATM class
ok 4 6310 - Dump ATM stats

./tdc.py -c choke
ok 1 8937 - Create CHOKE with default setting
ok 2 48c0 - Create CHOKE with min packet setting
ok 3 38c1 - Create CHOKE with max packet setting
ok 4 234a - Create CHOKE with ecn setting
ok 5 4380 - Create CHOKE with burst setting
ok 6 48c7 - Delete CHOKE with valid handle
ok 7 4398 - Replace CHOKE with min setting
ok 8 0301 - Change CHOKE with limit setting

./tdc.py -c codel
ok 1 983a - Create CODEL with default setting
ok 2 38aa - Create CODEL with limit packet setting
ok 3 9178 - Create CODEL with target setting
ok 4 78d1 - Create CODEL with interval setting
ok 5 238a - Create CODEL with ecn setting
ok 6 939c - Create CODEL with ce_threshold setting
ok 7 8380 - Delete CODEL with valid handle
ok 8 289c - Replace CODEL with limit setting
ok 9 0648 - Change CODEL with limit setting

./tdc.py -c etf
ok 1 34ba - Create ETF with default setting
ok 2 438f - Create ETF with delta nanos setting
ok 3 9041 - Create ETF with deadline_mode setting
ok 4 9a0c - Create ETF with skip_sock_check setting
ok 5 2093 - Delete ETF with valid handle

./tdc.py -c fq
ok 1 983b - Create FQ with default setting
ok 2 38a1 - Create FQ with limit packet setting
ok 3 0a18 - Create FQ with flow_limit setting
ok 4 2390 - Create FQ with quantum setting
ok 5 845b - Create FQ with initial_quantum setting
ok 6 9398 - Create FQ with maxrate setting
ok 7 342c - Create FQ with nopacing setting
ok 8 6391 - Create FQ with refill_delay setting
ok 9 238b - Create FQ with low_rate_threshold setting
ok 10 7582 - Create FQ with orphan_mask setting
ok 11 4894 - Create FQ with timer_slack setting
ok 12 324c - Create FQ with ce_threshold setting
ok 13 424a - Create FQ with horizon time setting
ok 14 89e1 - Create FQ with horizon_cap setting
ok 15 32e1 - Delete FQ with valid handle
ok 16 49b0 - Replace FQ with limit setting
ok 17 9478 - Change FQ with limit setting

./tdc.py -c gred
ok 1 8942 - Create GRED with default setting
ok 2 5783 - Create GRED with grio setting
ok 3 8a09 - Create GRED with limit setting
ok 4 48cb - Create GRED with ecn setting
ok 5 763a - Change GRED setting
ok 6 8309 - Show GRED class

./tdc.py -c hhf
ok 1 4812 - Create HHF with default setting
ok 2 8a92 - Create HHF with limit setting
ok 3 3491 - Create HHF with quantum setting
ok 4 ba04 - Create HHF with reset_timeout setting
ok 5 4238 - Create HHF with admit_bytes setting
ok 6 839f - Create HHF with evict_timeout setting
ok 7 a044 - Create HHF with non_hh_weight setting
ok 8 32f9 - Change HHF with limit setting
ok 9 385e - Show HHF class

./tdc.py -c pfifo_fast
ok 1 900c - Create pfifo_fast with default setting
ok 2 7470 - Dump pfifo_fast stats
ok 3 b974 - Replace pfifo_fast with different handle
ok 4 3240 - Delete pfifo_fast with valid handle
ok 5 4385 - Delete pfifo_fast with invalid handle

./tdc.py -c plug
ok 1 3289 - Create PLUG with default setting
ok 2 0917 - Create PLUG with block setting
ok 3 483b - Create PLUG with release setting
ok 4 4995 - Create PLUG with release_indefinite setting
ok 5 389c - Create PLUG with limit setting
ok 6 384a - Delete PLUG with valid handle
ok 7 439a - Replace PLUG with limit setting
ok 8 9831 - Change PLUG with limit setting

./tdc.py -c sfb
ok 1 3294 - Create SFB with default setting
ok 2 430a - Create SFB with rehash setting
ok 3 3410 - Create SFB with db setting
ok 4 49a0 - Create SFB with limit setting
ok 5 1241 - Create SFB with max setting
ok 6 3249 - Create SFB with target setting
ok 7 30a9 - Create SFB with increment setting
ok 8 239a - Create SFB with decrement setting
ok 9 9301 - Create SFB with penalty_rate setting
ok 10 2a01 - Create SFB with penalty_burst setting
ok 11 3209 - Change SFB with rehash setting
ok 12 5447 - Show SFB class

./tdc.py -c sfq
ok 1 7482 - Create SFQ with default setting
ok 2 c186 - Create SFQ with limit setting
ok 3 ae23 - Create SFQ with perturb setting
ok 4 a430 - Create SFQ with quantum setting
ok 5 4539 - Create SFQ with divisor setting
ok 6 b089 - Create SFQ with flows setting
ok 7 99a0 - Create SFQ with depth setting
ok 8 7389 - Create SFQ with headdrop setting
ok 9 6472 - Create SFQ with redflowlimit setting
ok 10 8929 - Show SFQ class

./tdc.py -c skbprio
ok 1 283e - Create skbprio with default setting
ok 2 c086 - Create skbprio with limit setting
ok 3 6733 - Change skbprio with limit setting
ok 4 2958 - Show skbprio class

./tdc.py -c taprio
ok 1 ba39 - Add taprio Qdisc to multi-queue device (8 queues)
ok 2 9462 - Add taprio Qdisc with multiple sched-entry
ok 3 8d92 - Add taprio Qdisc with txtime-delay
ok 4 d092 - Delete taprio Qdisc with valid handle
ok 5 8471 - Show taprio class
ok 6 0a85 - Add taprio Qdisc to single-queue device

./tdc.py -c tbf
ok 1 6430 - Create TBF with default setting
ok 2 0518 - Create TBF with mtu setting
ok 3 320a - Create TBF with peakrate setting
ok 4 239b - Create TBF with latency setting
ok 5 c975 - Create TBF with overhead setting
ok 6 948c - Create TBF with linklayer setting
ok 7 3549 - Replace TBF with mtu
ok 8 f948 - Change TBF with latency time
ok 9 2348 - Show TBF class

./tdc.py -c teql
ok 1 84a0 - Create TEQL with default setting
ok 2 7734 - Create TEQL with multiple device
ok 3 34a9 - Delete TEQL with valid handle
ok 4 6289 - Show TEQL stats

---
v2: modify subject prefix
---
Zhengchao Shao (15):
  selftests/tc-testing: add selftests for atm qdisc
  selftests/tc-testing: add selftests for choke qdisc
  selftests/tc-testing: add selftests for codel qdisc
  selftests/tc-testing: add selftests for etf qdisc
  selftests/tc-testing: add selftests for fq qdisc
  selftests/tc-testing: add selftests for gred qdisc
  selftests/tc-testing: add selftests for hhf qdisc
  selftests/tc-testing: add selftests for pfifo_fast qdisc
  selftests/tc-testing: add selftests for plug qdisc
  selftests/tc-testing: add selftests for sfb qdisc
  selftests/tc-testing: add selftests for sfq qdisc
  selftests/tc-testing: add selftests for skbprio qdisc
  selftests/tc-testing: add selftests for taprio qdisc
  selftests/tc-testing: add selftests for tbf qdisc
  selftests/tc-testing: add selftests for teql qdisc

 .../tc-testing/tc-tests/qdiscs/atm.json       |  94 +++++
 .../tc-testing/tc-tests/qdiscs/choke.json     | 188 +++++++++
 .../tc-testing/tc-tests/qdiscs/codel.json     | 211 ++++++++++
 .../tc-testing/tc-tests/qdiscs/etf.json       | 117 ++++++
 .../tc-testing/tc-tests/qdiscs/fq.json        | 395 ++++++++++++++++++
 .../tc-testing/tc-tests/qdiscs/gred.json      | 164 ++++++++
 .../tc-testing/tc-tests/qdiscs/hhf.json       | 210 ++++++++++
 .../tc-tests/qdiscs/pfifo_fast.json           | 119 ++++++
 .../tc-testing/tc-tests/qdiscs/plug.json      | 188 +++++++++
 .../tc-testing/tc-tests/qdiscs/sfb.json       | 279 +++++++++++++
 .../tc-testing/tc-tests/qdiscs/sfq.json       | 232 ++++++++++
 .../tc-testing/tc-tests/qdiscs/skbprio.json   |  95 +++++
 .../tc-testing/tc-tests/qdiscs/taprio.json    | 135 ++++++
 .../tc-testing/tc-tests/qdiscs/tbf.json       | 211 ++++++++++
 .../tc-testing/tc-tests/qdiscs/teql.json      |  97 +++++
 15 files changed, 2735 insertions(+)
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/atm.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/choke.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/codel.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/etf.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/fq.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/gred.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/hhf.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/pfifo_fast.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/plug.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/sfb.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/sfq.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/skbprio.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/taprio.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/tbf.json
 create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/teql.json

Comments

Jakub Kicinski Sept. 22, 2022, 8:39 p.m. UTC | #1
On Wed, 21 Sep 2022 10:50:37 +0800 Zhengchao Shao wrote:
> For this patchset, test cases of the qdisc modules are added to the
> tc-testing test suite.

Victor, Jamal, pls LMK if you'd like more time to review otherwise 
I'd love to apply these this evening. Our patch queue length is 
hovering between unreasonable and crazy :(
Jamal Hadi Salim Sept. 22, 2022, 9:06 p.m. UTC | #2
On Thu, Sep 22, 2022 at 4:40 PM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Wed, 21 Sep 2022 10:50:37 +0800 Zhengchao Shao wrote:
> > For this patchset, test cases of the qdisc modules are added to the
> > tc-testing test suite.
>
> Victor, Jamal, pls LMK if you'd like more time to review otherwise
> I'd love to apply these this evening. Our patch queue length is
> hovering between unreasonable and crazy :(

There's some issue with this patchset - something was oopsing; could be
an issue on our setup. Victor is looking into it.

Tests are good though - and we do review them and run them before
acking...

cheers,
jamal
Jakub Kicinski Sept. 22, 2022, 9:10 p.m. UTC | #3
On Thu, 22 Sep 2022 17:06:02 -0400 Jamal Hadi Salim wrote:
> There's some issue with this patchset - something was oopsing; could be
> an issue on our setup. Victor is looking into it.
> 
> Tests are good though - and we do review them and run them before
> acking...

Roger that, I'll take the 18 part set since it looks acked 
and hold off on these.
Victor Nogueira Sept. 23, 2022, 1:40 p.m. UTC | #4
On 20/09/2022 23:50, Zhengchao Shao wrote:

> For this patchset, test cases of the qdisc modules are added to the
> tc-testing test suite.
>
> After a test case is added locally, the test result is as follows:
>
> ./tdc.py -c atm
> ok 1 7628 - Create ATM with default setting
> ok 2 390a - Delete ATM with valid handle
> ok 3 32a0 - Show ATM class
> ok 4 6310 - Dump ATM stats
>
> ./tdc.py -c choke
> ok 1 8937 - Create CHOKE with default setting
> ok 2 48c0 - Create CHOKE with min packet setting
> ok 3 38c1 - Create CHOKE with max packet setting
> ok 4 234a - Create CHOKE with ecn setting
> ok 5 4380 - Create CHOKE with burst setting
> ok 6 48c7 - Delete CHOKE with valid handle
> ok 7 4398 - Replace CHOKE with min setting
> ok 8 0301 - Change CHOKE with limit setting
>
> ./tdc.py -c codel
> ok 1 983a - Create CODEL with default setting
> ok 2 38aa - Create CODEL with limit packet setting
> ok 3 9178 - Create CODEL with target setting
> ok 4 78d1 - Create CODEL with interval setting
> ok 5 238a - Create CODEL with ecn setting
> ok 6 939c - Create CODEL with ce_threshold setting
> ok 7 8380 - Delete CODEL with valid handle
> ok 8 289c - Replace CODEL with limit setting
> ok 9 0648 - Change CODEL with limit setting
>
> ./tdc.py -c etf
> ok 1 34ba - Create ETF with default setting
> ok 2 438f - Create ETF with delta nanos setting
> ok 3 9041 - Create ETF with deadline_mode setting
> ok 4 9a0c - Create ETF with skip_sock_check setting
> ok 5 2093 - Delete ETF with valid handle
>
> ./tdc.py -c fq
> ok 1 983b - Create FQ with default setting
> ok 2 38a1 - Create FQ with limit packet setting
> ok 3 0a18 - Create FQ with flow_limit setting
> ok 4 2390 - Create FQ with quantum setting
> ok 5 845b - Create FQ with initial_quantum setting
> ok 6 9398 - Create FQ with maxrate setting
> ok 7 342c - Create FQ with nopacing setting
> ok 8 6391 - Create FQ with refill_delay setting
> ok 9 238b - Create FQ with low_rate_threshold setting
> ok 10 7582 - Create FQ with orphan_mask setting
> ok 11 4894 - Create FQ with timer_slack setting
> ok 12 324c - Create FQ with ce_threshold setting
> ok 13 424a - Create FQ with horizon time setting
> ok 14 89e1 - Create FQ with horizon_cap setting
> ok 15 32e1 - Delete FQ with valid handle
> ok 16 49b0 - Replace FQ with limit setting
> ok 17 9478 - Change FQ with limit setting
>
> ./tdc.py -c gred
> ok 1 8942 - Create GRED with default setting
> ok 2 5783 - Create GRED with grio setting
> ok 3 8a09 - Create GRED with limit setting
> ok 4 48cb - Create GRED with ecn setting
> ok 5 763a - Change GRED setting
> ok 6 8309 - Show GRED class
>
> ./tdc.py -c hhf
> ok 1 4812 - Create HHF with default setting
> ok 2 8a92 - Create HHF with limit setting
> ok 3 3491 - Create HHF with quantum setting
> ok 4 ba04 - Create HHF with reset_timeout setting
> ok 5 4238 - Create HHF with admit_bytes setting
> ok 6 839f - Create HHF with evict_timeout setting
> ok 7 a044 - Create HHF with non_hh_weight setting
> ok 8 32f9 - Change HHF with limit setting
> ok 9 385e - Show HHF class
>
> ./tdc.py -c pfifo_fast
> ok 1 900c - Create pfifo_fast with default setting
> ok 2 7470 - Dump pfifo_fast stats
> ok 3 b974 - Replace pfifo_fast with different handle
> ok 4 3240 - Delete pfifo_fast with valid handle
> ok 5 4385 - Delete pfifo_fast with invalid handle
>
> ./tdc.py -c plug
> ok 1 3289 - Create PLUG with default setting
> ok 2 0917 - Create PLUG with block setting
> ok 3 483b - Create PLUG with release setting
> ok 4 4995 - Create PLUG with release_indefinite setting
> ok 5 389c - Create PLUG with limit setting
> ok 6 384a - Delete PLUG with valid handle
> ok 7 439a - Replace PLUG with limit setting
> ok 8 9831 - Change PLUG with limit setting
>
> ./tdc.py -c sfb
> ok 1 3294 - Create SFB with default setting
> ok 2 430a - Create SFB with rehash setting
> ok 3 3410 - Create SFB with db setting
> ok 4 49a0 - Create SFB with limit setting
> ok 5 1241 - Create SFB with max setting
> ok 6 3249 - Create SFB with target setting
> ok 7 30a9 - Create SFB with increment setting
> ok 8 239a - Create SFB with decrement setting
> ok 9 9301 - Create SFB with penalty_rate setting
> ok 10 2a01 - Create SFB with penalty_burst setting
> ok 11 3209 - Change SFB with rehash setting
> ok 12 5447 - Show SFB class
>
> ./tdc.py -c sfq
> ok 1 7482 - Create SFQ with default setting
> ok 2 c186 - Create SFQ with limit setting
> ok 3 ae23 - Create SFQ with perturb setting
> ok 4 a430 - Create SFQ with quantum setting
> ok 5 4539 - Create SFQ with divisor setting
> ok 6 b089 - Create SFQ with flows setting
> ok 7 99a0 - Create SFQ with depth setting
> ok 8 7389 - Create SFQ with headdrop setting
> ok 9 6472 - Create SFQ with redflowlimit setting
> ok 10 8929 - Show SFQ class
>
> ./tdc.py -c skbprio
> ok 1 283e - Create skbprio with default setting
> ok 2 c086 - Create skbprio with limit setting
> ok 3 6733 - Change skbprio with limit setting
> ok 4 2958 - Show skbprio class
>
> ./tdc.py -c taprio
> ok 1 ba39 - Add taprio Qdisc to multi-queue device (8 queues)
> ok 2 9462 - Add taprio Qdisc with multiple sched-entry
> ok 3 8d92 - Add taprio Qdisc with txtime-delay
> ok 4 d092 - Delete taprio Qdisc with valid handle
> ok 5 8471 - Show taprio class
> ok 6 0a85 - Add taprio Qdisc to single-queue device
>
> ./tdc.py -c tbf
> ok 1 6430 - Create TBF with default setting
> ok 2 0518 - Create TBF with mtu setting
> ok 3 320a - Create TBF with peakrate setting
> ok 4 239b - Create TBF with latency setting
> ok 5 c975 - Create TBF with overhead setting
> ok 6 948c - Create TBF with linklayer setting
> ok 7 3549 - Replace TBF with mtu
> ok 8 f948 - Change TBF with latency time
> ok 9 2348 - Show TBF class
>
> ./tdc.py -c teql
> ok 1 84a0 - Create TEQL with default setting
> ok 2 7734 - Create TEQL with multiple device
> ok 3 34a9 - Delete TEQL with valid handle
> ok 4 6289 - Show TEQL stats
>
> ---
> v2: modify subject prefix
> ---
> Zhengchao Shao (15):
>    selftests/tc-testing: add selftests for atm qdisc
>    selftests/tc-testing: add selftests for choke qdisc
>    selftests/tc-testing: add selftests for codel qdisc
>    selftests/tc-testing: add selftests for etf qdisc
>    selftests/tc-testing: add selftests for fq qdisc
>    selftests/tc-testing: add selftests for gred qdisc
>    selftests/tc-testing: add selftests for hhf qdisc
>    selftests/tc-testing: add selftests for pfifo_fast qdisc
>    selftests/tc-testing: add selftests for plug qdisc
>    selftests/tc-testing: add selftests for sfb qdisc
>    selftests/tc-testing: add selftests for sfq qdisc
>    selftests/tc-testing: add selftests for skbprio qdisc
>    selftests/tc-testing: add selftests for taprio qdisc
>    selftests/tc-testing: add selftests for tbf qdisc
>    selftests/tc-testing: add selftests for teql qdisc
>
>   .../tc-testing/tc-tests/qdiscs/atm.json       |  94 +++++
>   .../tc-testing/tc-tests/qdiscs/choke.json     | 188 +++++++++
>   .../tc-testing/tc-tests/qdiscs/codel.json     | 211 ++++++++++
>   .../tc-testing/tc-tests/qdiscs/etf.json       | 117 ++++++
>   .../tc-testing/tc-tests/qdiscs/fq.json        | 395 ++++++++++++++++++
>   .../tc-testing/tc-tests/qdiscs/gred.json      | 164 ++++++++
>   .../tc-testing/tc-tests/qdiscs/hhf.json       | 210 ++++++++++
>   .../tc-tests/qdiscs/pfifo_fast.json           | 119 ++++++
>   .../tc-testing/tc-tests/qdiscs/plug.json      | 188 +++++++++
>   .../tc-testing/tc-tests/qdiscs/sfb.json       | 279 +++++++++++++
>   .../tc-testing/tc-tests/qdiscs/sfq.json       | 232 ++++++++++
>   .../tc-testing/tc-tests/qdiscs/skbprio.json   |  95 +++++
>   .../tc-testing/tc-tests/qdiscs/taprio.json    | 135 ++++++
>   .../tc-testing/tc-tests/qdiscs/tbf.json       | 211 ++++++++++
>   .../tc-testing/tc-tests/qdiscs/teql.json      |  97 +++++
>   15 files changed, 2735 insertions(+)
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/atm.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/choke.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/codel.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/etf.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/fq.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/gred.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/hhf.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/pfifo_fast.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/plug.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/sfb.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/sfq.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/skbprio.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/taprio.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/tbf.json
>   create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/teql.json


When adding new test case files, you should add any necessary configs 
needed to
run them in tools/testing/selftests/tc-testing/config, if they aren't 
already there.

For example, your ATM patch should also add the following config options 
to that file:

CONFIG_ATM=y
CONFIG_NET_SCH_ATM=m
shaozhengchao Sept. 24, 2022, 2:32 a.m. UTC | #5
On 2022/9/23 21:40, Victor Nogueira wrote:
> On 20/09/2022 23:50, Zhengchao Shao wrote:
> 
>> For this patchset, test cases of the qdisc modules are added to the
>> tc-testing test suite.
>>
>> After a test case is added locally, the test result is as follows:
>>
>> ./tdc.py -c atm
>> ok 1 7628 - Create ATM with default setting
>> ok 2 390a - Delete ATM with valid handle
>> ok 3 32a0 - Show ATM class
>> ok 4 6310 - Dump ATM stats
>>
>> ./tdc.py -c choke
>> ok 1 8937 - Create CHOKE with default setting
>> ok 2 48c0 - Create CHOKE with min packet setting
>> ok 3 38c1 - Create CHOKE with max packet setting
>> ok 4 234a - Create CHOKE with ecn setting
>> ok 5 4380 - Create CHOKE with burst setting
>> ok 6 48c7 - Delete CHOKE with valid handle
>> ok 7 4398 - Replace CHOKE with min setting
>> ok 8 0301 - Change CHOKE with limit setting
>>
>> ./tdc.py -c codel
>> ok 1 983a - Create CODEL with default setting
>> ok 2 38aa - Create CODEL with limit packet setting
>> ok 3 9178 - Create CODEL with target setting
>> ok 4 78d1 - Create CODEL with interval setting
>> ok 5 238a - Create CODEL with ecn setting
>> ok 6 939c - Create CODEL with ce_threshold setting
>> ok 7 8380 - Delete CODEL with valid handle
>> ok 8 289c - Replace CODEL with limit setting
>> ok 9 0648 - Change CODEL with limit setting
>>
>> ./tdc.py -c etf
>> ok 1 34ba - Create ETF with default setting
>> ok 2 438f - Create ETF with delta nanos setting
>> ok 3 9041 - Create ETF with deadline_mode setting
>> ok 4 9a0c - Create ETF with skip_sock_check setting
>> ok 5 2093 - Delete ETF with valid handle
>>
>> ./tdc.py -c fq
>> ok 1 983b - Create FQ with default setting
>> ok 2 38a1 - Create FQ with limit packet setting
>> ok 3 0a18 - Create FQ with flow_limit setting
>> ok 4 2390 - Create FQ with quantum setting
>> ok 5 845b - Create FQ with initial_quantum setting
>> ok 6 9398 - Create FQ with maxrate setting
>> ok 7 342c - Create FQ with nopacing setting
>> ok 8 6391 - Create FQ with refill_delay setting
>> ok 9 238b - Create FQ with low_rate_threshold setting
>> ok 10 7582 - Create FQ with orphan_mask setting
>> ok 11 4894 - Create FQ with timer_slack setting
>> ok 12 324c - Create FQ with ce_threshold setting
>> ok 13 424a - Create FQ with horizon time setting
>> ok 14 89e1 - Create FQ with horizon_cap setting
>> ok 15 32e1 - Delete FQ with valid handle
>> ok 16 49b0 - Replace FQ with limit setting
>> ok 17 9478 - Change FQ with limit setting
>>
>> ./tdc.py -c gred
>> ok 1 8942 - Create GRED with default setting
>> ok 2 5783 - Create GRED with grio setting
>> ok 3 8a09 - Create GRED with limit setting
>> ok 4 48cb - Create GRED with ecn setting
>> ok 5 763a - Change GRED setting
>> ok 6 8309 - Show GRED class
>>
>> ./tdc.py -c hhf
>> ok 1 4812 - Create HHF with default setting
>> ok 2 8a92 - Create HHF with limit setting
>> ok 3 3491 - Create HHF with quantum setting
>> ok 4 ba04 - Create HHF with reset_timeout setting
>> ok 5 4238 - Create HHF with admit_bytes setting
>> ok 6 839f - Create HHF with evict_timeout setting
>> ok 7 a044 - Create HHF with non_hh_weight setting
>> ok 8 32f9 - Change HHF with limit setting
>> ok 9 385e - Show HHF class
>>
>> ./tdc.py -c pfifo_fast
>> ok 1 900c - Create pfifo_fast with default setting
>> ok 2 7470 - Dump pfifo_fast stats
>> ok 3 b974 - Replace pfifo_fast with different handle
>> ok 4 3240 - Delete pfifo_fast with valid handle
>> ok 5 4385 - Delete pfifo_fast with invalid handle
>>
>> ./tdc.py -c plug
>> ok 1 3289 - Create PLUG with default setting
>> ok 2 0917 - Create PLUG with block setting
>> ok 3 483b - Create PLUG with release setting
>> ok 4 4995 - Create PLUG with release_indefinite setting
>> ok 5 389c - Create PLUG with limit setting
>> ok 6 384a - Delete PLUG with valid handle
>> ok 7 439a - Replace PLUG with limit setting
>> ok 8 9831 - Change PLUG with limit setting
>>
>> ./tdc.py -c sfb
>> ok 1 3294 - Create SFB with default setting
>> ok 2 430a - Create SFB with rehash setting
>> ok 3 3410 - Create SFB with db setting
>> ok 4 49a0 - Create SFB with limit setting
>> ok 5 1241 - Create SFB with max setting
>> ok 6 3249 - Create SFB with target setting
>> ok 7 30a9 - Create SFB with increment setting
>> ok 8 239a - Create SFB with decrement setting
>> ok 9 9301 - Create SFB with penalty_rate setting
>> ok 10 2a01 - Create SFB with penalty_burst setting
>> ok 11 3209 - Change SFB with rehash setting
>> ok 12 5447 - Show SFB class
>>
>> ./tdc.py -c sfq
>> ok 1 7482 - Create SFQ with default setting
>> ok 2 c186 - Create SFQ with limit setting
>> ok 3 ae23 - Create SFQ with perturb setting
>> ok 4 a430 - Create SFQ with quantum setting
>> ok 5 4539 - Create SFQ with divisor setting
>> ok 6 b089 - Create SFQ with flows setting
>> ok 7 99a0 - Create SFQ with depth setting
>> ok 8 7389 - Create SFQ with headdrop setting
>> ok 9 6472 - Create SFQ with redflowlimit setting
>> ok 10 8929 - Show SFQ class
>>
>> ./tdc.py -c skbprio
>> ok 1 283e - Create skbprio with default setting
>> ok 2 c086 - Create skbprio with limit setting
>> ok 3 6733 - Change skbprio with limit setting
>> ok 4 2958 - Show skbprio class
>>
>> ./tdc.py -c taprio
>> ok 1 ba39 - Add taprio Qdisc to multi-queue device (8 queues)
>> ok 2 9462 - Add taprio Qdisc with multiple sched-entry
>> ok 3 8d92 - Add taprio Qdisc with txtime-delay
>> ok 4 d092 - Delete taprio Qdisc with valid handle
>> ok 5 8471 - Show taprio class
>> ok 6 0a85 - Add taprio Qdisc to single-queue device
>>
>> ./tdc.py -c tbf
>> ok 1 6430 - Create TBF with default setting
>> ok 2 0518 - Create TBF with mtu setting
>> ok 3 320a - Create TBF with peakrate setting
>> ok 4 239b - Create TBF with latency setting
>> ok 5 c975 - Create TBF with overhead setting
>> ok 6 948c - Create TBF with linklayer setting
>> ok 7 3549 - Replace TBF with mtu
>> ok 8 f948 - Change TBF with latency time
>> ok 9 2348 - Show TBF class
>>
>> ./tdc.py -c teql
>> ok 1 84a0 - Create TEQL with default setting
>> ok 2 7734 - Create TEQL with multiple device
>> ok 3 34a9 - Delete TEQL with valid handle
>> ok 4 6289 - Show TEQL stats
>>
>> ---
>> v2: modify subject prefix
>> ---
>> Zhengchao Shao (15):
>>    selftests/tc-testing: add selftests for atm qdisc
>>    selftests/tc-testing: add selftests for choke qdisc
>>    selftests/tc-testing: add selftests for codel qdisc
>>    selftests/tc-testing: add selftests for etf qdisc
>>    selftests/tc-testing: add selftests for fq qdisc
>>    selftests/tc-testing: add selftests for gred qdisc
>>    selftests/tc-testing: add selftests for hhf qdisc
>>    selftests/tc-testing: add selftests for pfifo_fast qdisc
>>    selftests/tc-testing: add selftests for plug qdisc
>>    selftests/tc-testing: add selftests for sfb qdisc
>>    selftests/tc-testing: add selftests for sfq qdisc
>>    selftests/tc-testing: add selftests for skbprio qdisc
>>    selftests/tc-testing: add selftests for taprio qdisc
>>    selftests/tc-testing: add selftests for tbf qdisc
>>    selftests/tc-testing: add selftests for teql qdisc
>>
>>   .../tc-testing/tc-tests/qdiscs/atm.json       |  94 +++++
>>   .../tc-testing/tc-tests/qdiscs/choke.json     | 188 +++++++++
>>   .../tc-testing/tc-tests/qdiscs/codel.json     | 211 ++++++++++
>>   .../tc-testing/tc-tests/qdiscs/etf.json       | 117 ++++++
>>   .../tc-testing/tc-tests/qdiscs/fq.json        | 395 ++++++++++++++++++
>>   .../tc-testing/tc-tests/qdiscs/gred.json      | 164 ++++++++
>>   .../tc-testing/tc-tests/qdiscs/hhf.json       | 210 ++++++++++
>>   .../tc-tests/qdiscs/pfifo_fast.json           | 119 ++++++
>>   .../tc-testing/tc-tests/qdiscs/plug.json      | 188 +++++++++
>>   .../tc-testing/tc-tests/qdiscs/sfb.json       | 279 +++++++++++++
>>   .../tc-testing/tc-tests/qdiscs/sfq.json       | 232 ++++++++++
>>   .../tc-testing/tc-tests/qdiscs/skbprio.json   |  95 +++++
>>   .../tc-testing/tc-tests/qdiscs/taprio.json    | 135 ++++++
>>   .../tc-testing/tc-tests/qdiscs/tbf.json       | 211 ++++++++++
>>   .../tc-testing/tc-tests/qdiscs/teql.json      |  97 +++++
>>   15 files changed, 2735 insertions(+)
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/atm.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/choke.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/codel.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/etf.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/fq.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/gred.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/hhf.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/pfifo_fast.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/plug.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/sfb.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/sfq.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/skbprio.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/taprio.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/tbf.json
>>   create mode 100644 
>> tools/testing/selftests/tc-testing/tc-tests/qdiscs/teql.json
> 
> 
> When adding new test case files, you should add any necessary configs 
> needed to
> run them in tools/testing/selftests/tc-testing/config, if they aren't 
> already there.
> 
> For example, your ATM patch should also add the following config options 
> to that file:
> 
> CONFIG_ATM=y
> CONFIG_NET_SCH_ATM=m
> 
> 
Hi Victor:
	Thank you for your testing. I will add config in V3. It might be
better to generate executable test suites based on kernel config.
However, this feature does not seem to be supported currently. Or This 
feature can be added later.

Zhengchao Shao