Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'tc-testing-qdisc'

Zhengchao Shao says:

====================
net: add tc-testing qdisc test cases

For this patchset, test cases of the qdisc modules are added to the
tc-testing test suite.

Last, thanks to Victor for testing and suggestion.

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

---
v3: add config
v2: modify subject prefix
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

+2750
+15
tools/testing/selftests/tc-testing/config
··· 12 12 # 13 13 # Queueing/Scheduling 14 14 # 15 + CONFIG_NET_SCH_ATM=m 16 + CONFIG_NET_SCH_CHOKE=m 17 + CONFIG_NET_SCH_CODEL=m 18 + CONFIG_NET_SCH_ETF=m 19 + CONFIG_NET_SCH_FQ=m 20 + CONFIG_NET_SCH_GRED=m 21 + CONFIG_NET_SCH_HHF=m 22 + CONFIG_NET_SCH_PLUG=m 15 23 CONFIG_NET_SCH_PRIO=m 16 24 CONFIG_NET_SCH_INGRESS=m 25 + CONFIG_NET_SCH_SFB=m 26 + CONFIG_NET_SCH_SFQ=m 27 + CONFIG_NET_SCH_SKBPRIO=m 28 + CONFIG_NET_SCH_TAPRIO=m 29 + CONFIG_NET_SCH_TBF=m 30 + CONFIG_NET_SCH_TEQL=m 17 31 18 32 # 19 33 # Classification ··· 81 67 ## Network testing 82 68 # 83 69 CONFIG_CAN=m 70 + CONFIG_ATM=y
+94
tools/testing/selftests/tc-testing/tc-tests/qdiscs/atm.json
··· 1 + [ 2 + { 3 + "id": "7628", 4 + "name": "Create ATM with default setting", 5 + "category": [ 6 + "qdisc", 7 + "atm" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root atm", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc atm 1: root refcnt", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "390a", 27 + "name": "Delete ATM with valid handle", 28 + "category": [ 29 + "qdisc", 30 + "atm" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true", 37 + "$TC qdisc add dev $DUMMY handle 1: root atm" 38 + ], 39 + "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 40 + "expExitCode": "0", 41 + "verifyCmd": "$TC qdisc show dev $DUMMY", 42 + "matchPattern": "qdisc atm 1: root refcnt", 43 + "matchCount": "0", 44 + "teardown": [ 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "32a0", 50 + "name": "Show ATM class", 51 + "category": [ 52 + "qdisc", 53 + "atm" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true" 60 + ], 61 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root atm", 62 + "expExitCode": "0", 63 + "verifyCmd": "$TC class show dev $DUMMY", 64 + "matchPattern": "class atm 1: parent 1:", 65 + "matchCount": "1", 66 + "teardown": [ 67 + "$TC qdisc del dev $DUMMY handle 1: root", 68 + "$IP link del dev $DUMMY type dummy" 69 + ] 70 + }, 71 + { 72 + "id": "6310", 73 + "name": "Dump ATM stats", 74 + "category": [ 75 + "qdisc", 76 + "atm" 77 + ], 78 + "plugins": { 79 + "requires": "nsPlugin" 80 + }, 81 + "setup": [ 82 + "$IP link add dev $DUMMY type dummy || /bin/true" 83 + ], 84 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root atm", 85 + "expExitCode": "0", 86 + "verifyCmd": "$TC -s qdisc show dev $DUMMY", 87 + "matchPattern": "qdisc atm 1: root refcnt", 88 + "matchCount": "1", 89 + "teardown": [ 90 + "$TC qdisc del dev $DUMMY handle 1: root", 91 + "$IP link del dev $DUMMY type dummy" 92 + ] 93 + } 94 + ]
+188
tools/testing/selftests/tc-testing/tc-tests/qdiscs/choke.json
··· 1 + [ 2 + { 3 + "id": "8937", 4 + "name": "Create CHOKE with default setting", 5 + "category": [ 6 + "qdisc", 7 + "choke" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 83p max 250p", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "48c0", 27 + "name": "Create CHOKE with min packet setting", 28 + "category": [ 29 + "qdisc", 30 + "choke" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true" 37 + ], 38 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000 min 100", 39 + "expExitCode": "0", 40 + "verifyCmd": "$TC qdisc show dev $DUMMY", 41 + "matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 100p max 250p", 42 + "matchCount": "1", 43 + "teardown": [ 44 + "$TC qdisc del dev $DUMMY handle 1: root", 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "38c1", 50 + "name": "Create CHOKE with max packet setting", 51 + "category": [ 52 + "qdisc", 53 + "choke" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true" 60 + ], 61 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000 max 900", 62 + "expExitCode": "0", 63 + "verifyCmd": "$TC qdisc show dev $DUMMY", 64 + "matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min.*max 900p", 65 + "matchCount": "1", 66 + "teardown": [ 67 + "$TC qdisc del dev $DUMMY handle 1: root", 68 + "$IP link del dev $DUMMY type dummy" 69 + ] 70 + }, 71 + { 72 + "id": "234a", 73 + "name": "Create CHOKE with ecn setting", 74 + "category": [ 75 + "qdisc", 76 + "choke" 77 + ], 78 + "plugins": { 79 + "requires": "nsPlugin" 80 + }, 81 + "setup": [ 82 + "$IP link add dev $DUMMY type dummy || /bin/true" 83 + ], 84 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000 ecn", 85 + "expExitCode": "0", 86 + "verifyCmd": "$TC qdisc show dev $DUMMY", 87 + "matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 83p max 250p ecn", 88 + "matchCount": "1", 89 + "teardown": [ 90 + "$TC qdisc del dev $DUMMY handle 1: root", 91 + "$IP link del dev $DUMMY type dummy" 92 + ] 93 + }, 94 + { 95 + "id": "4380", 96 + "name": "Create CHOKE with burst setting", 97 + "category": [ 98 + "qdisc", 99 + "choke" 100 + ], 101 + "plugins": { 102 + "requires": "nsPlugin" 103 + }, 104 + "setup": [ 105 + "$IP link add dev $DUMMY type dummy || /bin/true" 106 + ], 107 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000 burst 100", 108 + "expExitCode": "0", 109 + "verifyCmd": "$TC qdisc show dev $DUMMY", 110 + "matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 83p max 250p", 111 + "matchCount": "1", 112 + "teardown": [ 113 + "$TC qdisc del dev $DUMMY handle 1: root", 114 + "$IP link del dev $DUMMY type dummy" 115 + ] 116 + }, 117 + { 118 + "id": "48c7", 119 + "name": "Delete CHOKE with valid handle", 120 + "category": [ 121 + "qdisc", 122 + "choke" 123 + ], 124 + "plugins": { 125 + "requires": "nsPlugin" 126 + }, 127 + "setup": [ 128 + "$IP link add dev $DUMMY type dummy || /bin/true", 129 + "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000" 130 + ], 131 + "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 132 + "expExitCode": "0", 133 + "verifyCmd": "$TC qdisc show dev $DUMMY", 134 + "matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 83p max 250p", 135 + "matchCount": "0", 136 + "teardown": [ 137 + "$IP link del dev $DUMMY type dummy" 138 + ] 139 + }, 140 + { 141 + "id": "4398", 142 + "name": "Replace CHOKE with min setting", 143 + "category": [ 144 + "qdisc", 145 + "choke" 146 + ], 147 + "plugins": { 148 + "requires": "nsPlugin" 149 + }, 150 + "setup": [ 151 + "$IP link add dev $DUMMY type dummy || /bin/true", 152 + "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000" 153 + ], 154 + "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000 min 100", 155 + "expExitCode": "0", 156 + "verifyCmd": "$TC qdisc show dev $DUMMY", 157 + "matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 100p max 250p", 158 + "matchCount": "1", 159 + "teardown": [ 160 + "$TC qdisc del dev $DUMMY handle 1: root", 161 + "$IP link del dev $DUMMY type dummy" 162 + ] 163 + }, 164 + { 165 + "id": "0301", 166 + "name": "Change CHOKE with limit setting", 167 + "category": [ 168 + "qdisc", 169 + "choke" 170 + ], 171 + "plugins": { 172 + "requires": "nsPlugin" 173 + }, 174 + "setup": [ 175 + "$IP link add dev $DUMMY type dummy || /bin/true", 176 + "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000" 177 + ], 178 + "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000 min 100", 179 + "expExitCode": "0", 180 + "verifyCmd": "$TC qdisc show dev $DUMMY", 181 + "matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 100p max 250p", 182 + "matchCount": "1", 183 + "teardown": [ 184 + "$TC qdisc del dev $DUMMY handle 1: root", 185 + "$IP link del dev $DUMMY type dummy" 186 + ] 187 + } 188 + ]
+211
tools/testing/selftests/tc-testing/tc-tests/qdiscs/codel.json
··· 1 + [ 2 + { 3 + "id": "983a", 4 + "name": "Create CODEL with default setting", 5 + "category": [ 6 + "qdisc", 7 + "codel" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 100ms", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "38aa", 27 + "name": "Create CODEL with limit packet setting", 28 + "category": [ 29 + "qdisc", 30 + "codel" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true" 37 + ], 38 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel limit 1500", 39 + "expExitCode": "0", 40 + "verifyCmd": "$TC qdisc show dev $DUMMY", 41 + "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1500p target 5ms interval 100ms", 42 + "matchCount": "1", 43 + "teardown": [ 44 + "$TC qdisc del dev $DUMMY handle 1: root", 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "9178", 50 + "name": "Create CODEL with target setting", 51 + "category": [ 52 + "qdisc", 53 + "codel" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true" 60 + ], 61 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel target 100ms", 62 + "expExitCode": "0", 63 + "verifyCmd": "$TC qdisc show dev $DUMMY", 64 + "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 100ms interval 100ms", 65 + "matchCount": "1", 66 + "teardown": [ 67 + "$TC qdisc del dev $DUMMY handle 1: root", 68 + "$IP link del dev $DUMMY type dummy" 69 + ] 70 + }, 71 + { 72 + "id": "78d1", 73 + "name": "Create CODEL with interval setting", 74 + "category": [ 75 + "qdisc", 76 + "codel" 77 + ], 78 + "plugins": { 79 + "requires": "nsPlugin" 80 + }, 81 + "setup": [ 82 + "$IP link add dev $DUMMY type dummy || /bin/true" 83 + ], 84 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel interval 20ms", 85 + "expExitCode": "0", 86 + "verifyCmd": "$TC qdisc show dev $DUMMY", 87 + "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 20ms", 88 + "matchCount": "1", 89 + "teardown": [ 90 + "$TC qdisc del dev $DUMMY handle 1: root", 91 + "$IP link del dev $DUMMY type dummy" 92 + ] 93 + }, 94 + { 95 + "id": "238a", 96 + "name": "Create CODEL with ecn setting", 97 + "category": [ 98 + "qdisc", 99 + "codel" 100 + ], 101 + "plugins": { 102 + "requires": "nsPlugin" 103 + }, 104 + "setup": [ 105 + "$IP link add dev $DUMMY type dummy || /bin/true" 106 + ], 107 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel ecn", 108 + "expExitCode": "0", 109 + "verifyCmd": "$TC qdisc show dev $DUMMY", 110 + "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 100ms ecn", 111 + "matchCount": "1", 112 + "teardown": [ 113 + "$TC qdisc del dev $DUMMY handle 1: root", 114 + "$IP link del dev $DUMMY type dummy" 115 + ] 116 + }, 117 + { 118 + "id": "939c", 119 + "name": "Create CODEL with ce_threshold setting", 120 + "category": [ 121 + "qdisc", 122 + "codel" 123 + ], 124 + "plugins": { 125 + "requires": "nsPlugin" 126 + }, 127 + "setup": [ 128 + "$IP link add dev $DUMMY type dummy || /bin/true" 129 + ], 130 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel ce_threshold 20ms", 131 + "expExitCode": "0", 132 + "verifyCmd": "$TC qdisc show dev $DUMMY", 133 + "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms ce_threshold 20ms interval 100ms", 134 + "matchCount": "1", 135 + "teardown": [ 136 + "$TC qdisc del dev $DUMMY handle 1: root", 137 + "$IP link del dev $DUMMY type dummy" 138 + ] 139 + }, 140 + { 141 + "id": "8380", 142 + "name": "Delete CODEL with valid handle", 143 + "category": [ 144 + "qdisc", 145 + "codel" 146 + ], 147 + "plugins": { 148 + "requires": "nsPlugin" 149 + }, 150 + "setup": [ 151 + "$IP link add dev $DUMMY type dummy || /bin/true", 152 + "$TC qdisc add dev $DUMMY handle 1: root codel" 153 + ], 154 + "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 155 + "expExitCode": "0", 156 + "verifyCmd": "$TC qdisc show dev $DUMMY", 157 + "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 100ms", 158 + "matchCount": "0", 159 + "teardown": [ 160 + "$IP link del dev $DUMMY type dummy" 161 + ] 162 + }, 163 + { 164 + "id": "289c", 165 + "name": "Replace CODEL with limit setting", 166 + "category": [ 167 + "qdisc", 168 + "codel" 169 + ], 170 + "plugins": { 171 + "requires": "nsPlugin" 172 + }, 173 + "setup": [ 174 + "$IP link add dev $DUMMY type dummy || /bin/true", 175 + "$TC qdisc add dev $DUMMY handle 1: root codel" 176 + ], 177 + "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root codel limit 5000", 178 + "expExitCode": "0", 179 + "verifyCmd": "$TC qdisc show dev $DUMMY", 180 + "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 5000p target 5ms interval 100ms", 181 + "matchCount": "1", 182 + "teardown": [ 183 + "$TC qdisc del dev $DUMMY handle 1: root", 184 + "$IP link del dev $DUMMY type dummy" 185 + ] 186 + }, 187 + { 188 + "id": "0648", 189 + "name": "Change CODEL with limit setting", 190 + "category": [ 191 + "qdisc", 192 + "codel" 193 + ], 194 + "plugins": { 195 + "requires": "nsPlugin" 196 + }, 197 + "setup": [ 198 + "$IP link add dev $DUMMY type dummy || /bin/true", 199 + "$TC qdisc add dev $DUMMY handle 1: root codel" 200 + ], 201 + "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root codel limit 100", 202 + "expExitCode": "0", 203 + "verifyCmd": "$TC qdisc show dev $DUMMY", 204 + "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 100p target 5ms interval 100ms", 205 + "matchCount": "1", 206 + "teardown": [ 207 + "$TC qdisc del dev $DUMMY handle 1: root", 208 + "$IP link del dev $DUMMY type dummy" 209 + ] 210 + } 211 + ]
+117
tools/testing/selftests/tc-testing/tc-tests/qdiscs/etf.json
··· 1 + [ 2 + { 3 + "id": "34ba", 4 + "name": "Create ETF with default setting", 5 + "category": [ 6 + "qdisc", 7 + "etf" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root etf clockid CLOCK_TAI", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc etf 1: root refcnt [0-9]+ clockid TAI delta 0 offload off deadline_mode off skip_sock_check off", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "438f", 27 + "name": "Create ETF with delta nanos setting", 28 + "category": [ 29 + "qdisc", 30 + "etf" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true" 37 + ], 38 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root etf delta 100 clockid CLOCK_TAI", 39 + "expExitCode": "0", 40 + "verifyCmd": "$TC qdisc show dev $DUMMY", 41 + "matchPattern": "qdisc etf 1: root refcnt [0-9]+ clockid TAI delta 100 offload off deadline_mode off skip_sock_check off", 42 + "matchCount": "1", 43 + "teardown": [ 44 + "$TC qdisc del dev $DUMMY handle 1: root", 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "9041", 50 + "name": "Create ETF with deadline_mode setting", 51 + "category": [ 52 + "qdisc", 53 + "etf" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true" 60 + ], 61 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root etf clockid CLOCK_TAI deadline_mode", 62 + "expExitCode": "0", 63 + "verifyCmd": "$TC qdisc show dev $DUMMY", 64 + "matchPattern": "qdisc etf 1: root refcnt [0-9]+ clockid TAI delta 0 offload off deadline_mode on skip_sock_check off", 65 + "matchCount": "1", 66 + "teardown": [ 67 + "$TC qdisc del dev $DUMMY handle 1: root", 68 + "$IP link del dev $DUMMY type dummy" 69 + ] 70 + }, 71 + { 72 + "id": "9a0c", 73 + "name": "Create ETF with skip_sock_check setting", 74 + "category": [ 75 + "qdisc", 76 + "etf" 77 + ], 78 + "plugins": { 79 + "requires": "nsPlugin" 80 + }, 81 + "setup": [ 82 + "$IP link add dev $DUMMY type dummy || /bin/true" 83 + ], 84 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root etf clockid CLOCK_TAI skip_sock_check", 85 + "expExitCode": "0", 86 + "verifyCmd": "$TC qdisc show dev $DUMMY", 87 + "matchPattern": "qdisc etf 1: root refcnt [0-9]+ clockid TAI delta 0 offload off deadline_mode off skip_sock_check on", 88 + "matchCount": "1", 89 + "teardown": [ 90 + "$TC qdisc del dev $DUMMY handle 1: root", 91 + "$IP link del dev $DUMMY type dummy" 92 + ] 93 + }, 94 + { 95 + "id": "2093", 96 + "name": "Delete ETF with valid handle", 97 + "category": [ 98 + "qdisc", 99 + "etf" 100 + ], 101 + "plugins": { 102 + "requires": "nsPlugin" 103 + }, 104 + "setup": [ 105 + "$IP link add dev $DUMMY type dummy || /bin/true", 106 + "$TC qdisc add dev $DUMMY handle 1: root etf clockid CLOCK_TAI" 107 + ], 108 + "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 109 + "expExitCode": "0", 110 + "verifyCmd": "$TC qdisc show dev $DUMMY", 111 + "matchPattern": "qdisc etf 1: root refcnt [0-9]+ clockid TAI delta 0 offload off deadline_mode off skip_sock_check off", 112 + "matchCount": "0", 113 + "teardown": [ 114 + "$IP link del dev $DUMMY type dummy" 115 + ] 116 + } 117 + ]
+395
tools/testing/selftests/tc-testing/tc-tests/qdiscs/fq.json
··· 1 + [ 2 + { 3 + "id": "983b", 4 + "name": "Create FQ with default setting", 5 + "category": [ 6 + "qdisc", 7 + "fq" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "38a1", 27 + "name": "Create FQ with limit packet setting", 28 + "category": [ 29 + "qdisc", 30 + "fq" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true" 37 + ], 38 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq limit 3000", 39 + "expExitCode": "0", 40 + "verifyCmd": "$TC qdisc show dev $DUMMY", 41 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 3000p", 42 + "matchCount": "1", 43 + "teardown": [ 44 + "$TC qdisc del dev $DUMMY handle 1: root", 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "0a18", 50 + "name": "Create FQ with flow_limit setting", 51 + "category": [ 52 + "qdisc", 53 + "fq" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true" 60 + ], 61 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq flow_limit 300", 62 + "expExitCode": "0", 63 + "verifyCmd": "$TC qdisc show dev $DUMMY", 64 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 300p", 65 + "matchCount": "1", 66 + "teardown": [ 67 + "$TC qdisc del dev $DUMMY handle 1: root", 68 + "$IP link del dev $DUMMY type dummy" 69 + ] 70 + }, 71 + { 72 + "id": "2390", 73 + "name": "Create FQ with quantum setting", 74 + "category": [ 75 + "qdisc", 76 + "fq" 77 + ], 78 + "plugins": { 79 + "requires": "nsPlugin" 80 + }, 81 + "setup": [ 82 + "$IP link add dev $DUMMY type dummy || /bin/true" 83 + ], 84 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq quantum 9000", 85 + "expExitCode": "0", 86 + "verifyCmd": "$TC qdisc show dev $DUMMY", 87 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p buckets.*orphan_mask 1023 quantum 9000b", 88 + "matchCount": "1", 89 + "teardown": [ 90 + "$TC qdisc del dev $DUMMY handle 1: root", 91 + "$IP link del dev $DUMMY type dummy" 92 + ] 93 + }, 94 + { 95 + "id": "845b", 96 + "name": "Create FQ with initial_quantum setting", 97 + "category": [ 98 + "qdisc", 99 + "fq" 100 + ], 101 + "plugins": { 102 + "requires": "nsPlugin" 103 + }, 104 + "setup": [ 105 + "$IP link add dev $DUMMY type dummy || /bin/true" 106 + ], 107 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq initial_quantum 900000", 108 + "expExitCode": "0", 109 + "verifyCmd": "$TC qdisc show dev $DUMMY", 110 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p buckets.*initial_quantum 900000b", 111 + "matchCount": "1", 112 + "teardown": [ 113 + "$TC qdisc del dev $DUMMY handle 1: root", 114 + "$IP link del dev $DUMMY type dummy" 115 + ] 116 + }, 117 + { 118 + "id": "9398", 119 + "name": "Create FQ with maxrate setting", 120 + "category": [ 121 + "qdisc", 122 + "fq" 123 + ], 124 + "plugins": { 125 + "requires": "nsPlugin" 126 + }, 127 + "setup": [ 128 + "$IP link add dev $DUMMY type dummy || /bin/true" 129 + ], 130 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq maxrate 100000", 131 + "expExitCode": "0", 132 + "verifyCmd": "$TC qdisc show dev $DUMMY", 133 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p buckets.*maxrate 100Kbit", 134 + "matchCount": "1", 135 + "teardown": [ 136 + "$TC qdisc del dev $DUMMY handle 1: root", 137 + "$IP link del dev $DUMMY type dummy" 138 + ] 139 + }, 140 + { 141 + "id": "342c", 142 + "name": "Create FQ with nopacing setting", 143 + "category": [ 144 + "qdisc", 145 + "fq" 146 + ], 147 + "plugins": { 148 + "requires": "nsPlugin" 149 + }, 150 + "setup": [ 151 + "$IP link add dev $DUMMY type dummy || /bin/true" 152 + ], 153 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq nopacing", 154 + "expExitCode": "0", 155 + "verifyCmd": "$TC qdisc show dev $DUMMY", 156 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*nopacing", 157 + "matchCount": "1", 158 + "teardown": [ 159 + "$TC qdisc del dev $DUMMY handle 1: root", 160 + "$IP link del dev $DUMMY type dummy" 161 + ] 162 + }, 163 + { 164 + "id": "6391", 165 + "name": "Create FQ with refill_delay setting", 166 + "category": [ 167 + "qdisc", 168 + "fq" 169 + ], 170 + "plugins": { 171 + "requires": "nsPlugin" 172 + }, 173 + "setup": [ 174 + "$IP link add dev $DUMMY type dummy || /bin/true" 175 + ], 176 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq refill_delay 100ms", 177 + "expExitCode": "0", 178 + "verifyCmd": "$TC qdisc show dev $DUMMY", 179 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*refill_delay 100ms", 180 + "matchCount": "1", 181 + "teardown": [ 182 + "$TC qdisc del dev $DUMMY handle 1: root", 183 + "$IP link del dev $DUMMY type dummy" 184 + ] 185 + }, 186 + { 187 + "id": "238b", 188 + "name": "Create FQ with low_rate_threshold setting", 189 + "category": [ 190 + "qdisc", 191 + "fq" 192 + ], 193 + "plugins": { 194 + "requires": "nsPlugin" 195 + }, 196 + "setup": [ 197 + "$IP link add dev $DUMMY type dummy || /bin/true" 198 + ], 199 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq low_rate_threshold 10000", 200 + "expExitCode": "0", 201 + "verifyCmd": "$TC qdisc show dev $DUMMY", 202 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*low_rate_threshold 10Kbit", 203 + "matchCount": "1", 204 + "teardown": [ 205 + "$TC qdisc del dev $DUMMY handle 1: root", 206 + "$IP link del dev $DUMMY type dummy" 207 + ] 208 + }, 209 + { 210 + "id": "7582", 211 + "name": "Create FQ with orphan_mask setting", 212 + "category": [ 213 + "qdisc", 214 + "fq" 215 + ], 216 + "plugins": { 217 + "requires": "nsPlugin" 218 + }, 219 + "setup": [ 220 + "$IP link add dev $DUMMY type dummy || /bin/true" 221 + ], 222 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq orphan_mask 255", 223 + "expExitCode": "0", 224 + "verifyCmd": "$TC qdisc show dev $DUMMY", 225 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*orphan_mask 255", 226 + "matchCount": "1", 227 + "teardown": [ 228 + "$TC qdisc del dev $DUMMY handle 1: root", 229 + "$IP link del dev $DUMMY type dummy" 230 + ] 231 + }, 232 + { 233 + "id": "4894", 234 + "name": "Create FQ with timer_slack setting", 235 + "category": [ 236 + "qdisc", 237 + "fq" 238 + ], 239 + "plugins": { 240 + "requires": "nsPlugin" 241 + }, 242 + "setup": [ 243 + "$IP link add dev $DUMMY type dummy || /bin/true" 244 + ], 245 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq timer_slack 100", 246 + "expExitCode": "0", 247 + "verifyCmd": "$TC qdisc show dev $DUMMY", 248 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*timer_slack 100ns", 249 + "matchCount": "1", 250 + "teardown": [ 251 + "$TC qdisc del dev $DUMMY handle 1: root", 252 + "$IP link del dev $DUMMY type dummy" 253 + ] 254 + }, 255 + { 256 + "id": "324c", 257 + "name": "Create FQ with ce_threshold setting", 258 + "category": [ 259 + "qdisc", 260 + "fq" 261 + ], 262 + "plugins": { 263 + "requires": "nsPlugin" 264 + }, 265 + "setup": [ 266 + "$IP link add dev $DUMMY type dummy || /bin/true" 267 + ], 268 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq ce_threshold 100", 269 + "expExitCode": "0", 270 + "verifyCmd": "$TC qdisc show dev $DUMMY", 271 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p", 272 + "matchCount": "1", 273 + "teardown": [ 274 + "$TC qdisc del dev $DUMMY handle 1: root", 275 + "$IP link del dev $DUMMY type dummy" 276 + ] 277 + }, 278 + { 279 + "id": "424a", 280 + "name": "Create FQ with horizon time setting", 281 + "category": [ 282 + "qdisc", 283 + "fq" 284 + ], 285 + "plugins": { 286 + "requires": "nsPlugin" 287 + }, 288 + "setup": [ 289 + "$IP link add dev $DUMMY type dummy || /bin/true" 290 + ], 291 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq horizon 100", 292 + "expExitCode": "0", 293 + "verifyCmd": "$TC qdisc show dev $DUMMY", 294 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*horizon 100us", 295 + "matchCount": "1", 296 + "teardown": [ 297 + "$TC qdisc del dev $DUMMY handle 1: root", 298 + "$IP link del dev $DUMMY type dummy" 299 + ] 300 + }, 301 + { 302 + "id": "89e1", 303 + "name": "Create FQ with horizon_cap setting", 304 + "category": [ 305 + "qdisc", 306 + "fq" 307 + ], 308 + "plugins": { 309 + "requires": "nsPlugin" 310 + }, 311 + "setup": [ 312 + "$IP link add dev $DUMMY type dummy || /bin/true" 313 + ], 314 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq horizon_cap", 315 + "expExitCode": "0", 316 + "verifyCmd": "$TC qdisc show dev $DUMMY", 317 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*horizon_cap", 318 + "matchCount": "1", 319 + "teardown": [ 320 + "$TC qdisc del dev $DUMMY handle 1: root", 321 + "$IP link del dev $DUMMY type dummy" 322 + ] 323 + }, 324 + { 325 + "id": "32e1", 326 + "name": "Delete FQ with valid handle", 327 + "category": [ 328 + "qdisc", 329 + "fq" 330 + ], 331 + "plugins": { 332 + "requires": "nsPlugin" 333 + }, 334 + "setup": [ 335 + "$IP link add dev $DUMMY type dummy || /bin/true", 336 + "$TC qdisc add dev $DUMMY handle 1: root fq" 337 + ], 338 + "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 339 + "expExitCode": "0", 340 + "verifyCmd": "$TC qdisc show dev $DUMMY", 341 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p", 342 + "matchCount": "0", 343 + "teardown": [ 344 + "$IP link del dev $DUMMY type dummy" 345 + ] 346 + }, 347 + { 348 + "id": "49b0", 349 + "name": "Replace FQ with limit setting", 350 + "category": [ 351 + "qdisc", 352 + "fq" 353 + ], 354 + "plugins": { 355 + "requires": "nsPlugin" 356 + }, 357 + "setup": [ 358 + "$IP link add dev $DUMMY type dummy || /bin/true", 359 + "$TC qdisc add dev $DUMMY handle 1: root fq" 360 + ], 361 + "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root fq limit 5000", 362 + "expExitCode": "0", 363 + "verifyCmd": "$TC qdisc show dev $DUMMY", 364 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 5000p", 365 + "matchCount": "1", 366 + "teardown": [ 367 + "$TC qdisc del dev $DUMMY handle 1: root", 368 + "$IP link del dev $DUMMY type dummy" 369 + ] 370 + }, 371 + { 372 + "id": "9478", 373 + "name": "Change FQ with limit setting", 374 + "category": [ 375 + "qdisc", 376 + "fq" 377 + ], 378 + "plugins": { 379 + "requires": "nsPlugin" 380 + }, 381 + "setup": [ 382 + "$IP link add dev $DUMMY type dummy || /bin/true", 383 + "$TC qdisc add dev $DUMMY handle 1: root fq" 384 + ], 385 + "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root fq limit 100", 386 + "expExitCode": "0", 387 + "verifyCmd": "$TC qdisc show dev $DUMMY", 388 + "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 100p", 389 + "matchCount": "1", 390 + "teardown": [ 391 + "$TC qdisc del dev $DUMMY handle 1: root", 392 + "$IP link del dev $DUMMY type dummy" 393 + ] 394 + } 395 + ]
+164
tools/testing/selftests/tc-testing/tc-tests/qdiscs/gred.json
··· 1 + [ 2 + { 3 + "id": "8942", 4 + "name": "Create GRED with default setting", 5 + "category": [ 6 + "qdisc", 7 + "gred" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 1", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc gred 1: root refcnt [0-9]+ vqs 10 default 1", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "5783", 27 + "name": "Create GRED with grio setting", 28 + "category": [ 29 + "qdisc", 30 + "gred" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true" 37 + ], 38 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 1 grio", 39 + "expExitCode": "0", 40 + "verifyCmd": "$TC qdisc show dev $DUMMY", 41 + "matchPattern": "qdisc gred 1: root refcnt [0-9]+ vqs 10 default 1.*grio", 42 + "matchCount": "1", 43 + "teardown": [ 44 + "$TC qdisc del dev $DUMMY handle 1: root", 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "8a09", 50 + "name": "Create GRED with limit setting", 51 + "category": [ 52 + "qdisc", 53 + "gred" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true" 60 + ], 61 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 1 limit 1000", 62 + "expExitCode": "0", 63 + "verifyCmd": "$TC qdisc show dev $DUMMY", 64 + "matchPattern": "qdisc gred 1: root refcnt [0-9]+ vqs 10 default 1 limit 1000b", 65 + "matchCount": "1", 66 + "teardown": [ 67 + "$TC qdisc del dev $DUMMY handle 1: root", 68 + "$IP link del dev $DUMMY type dummy" 69 + ] 70 + }, 71 + { 72 + "id": "48ca", 73 + "name": "Create GRED with ecn setting", 74 + "category": [ 75 + "qdisc", 76 + "gred" 77 + ], 78 + "plugins": { 79 + "requires": "nsPlugin" 80 + }, 81 + "setup": [ 82 + "$IP link add dev $DUMMY type dummy || /bin/true" 83 + ], 84 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 2 ecn", 85 + "expExitCode": "0", 86 + "verifyCmd": "$TC qdisc show dev $DUMMY", 87 + "matchPattern": "qdisc gred 1: root refcnt [0-9]+ vqs 10 default 2.*ecn", 88 + "matchCount": "1", 89 + "teardown": [ 90 + "$TC qdisc del dev $DUMMY handle 1: root", 91 + "$IP link del dev $DUMMY type dummy" 92 + ] 93 + }, 94 + { 95 + "id": "48cb", 96 + "name": "Create GRED with harddrop setting", 97 + "category": [ 98 + "qdisc", 99 + "gred" 100 + ], 101 + "plugins": { 102 + "requires": "nsPlugin" 103 + }, 104 + "setup": [ 105 + "$IP link add dev $DUMMY type dummy || /bin/true" 106 + ], 107 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 2 harddrop", 108 + "expExitCode": "0", 109 + "verifyCmd": "$TC qdisc show dev $DUMMY", 110 + "matchPattern": "qdisc gred 1: root refcnt [0-9]+ vqs 10 default 2.*harddrop", 111 + "matchCount": "1", 112 + "teardown": [ 113 + "$TC qdisc del dev $DUMMY handle 1: root", 114 + "$IP link del dev $DUMMY type dummy" 115 + ] 116 + }, 117 + { 118 + "id": "763a", 119 + "name": "Change GRED setting", 120 + "category": [ 121 + "qdisc", 122 + "gred" 123 + ], 124 + "plugins": { 125 + "requires": "nsPlugin" 126 + }, 127 + "setup": [ 128 + "$IP link add dev $DUMMY type dummy || /bin/true", 129 + "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 1" 130 + ], 131 + "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root gred limit 60KB min 15K max 25K burst 64 avpkt 1500 bandwidth 10Mbit DP 1 probability 0.1", 132 + "expExitCode": "0", 133 + "verifyCmd": "$TC qdisc show dev $DUMMY", 134 + "matchPattern": "qdisc gred 1: root refcnt [0-9]+ vqs 10 default 1 limit.*vq 1 prio [0-9]+ limit 60Kb min 15Kb max 25Kb", 135 + "matchCount": "1", 136 + "teardown": [ 137 + "$TC qdisc del dev $DUMMY handle 1: root", 138 + "$IP link del dev $DUMMY type dummy" 139 + ] 140 + }, 141 + { 142 + "id": "8309", 143 + "name": "Show GRED class", 144 + "category": [ 145 + "qdisc", 146 + "gred" 147 + ], 148 + "plugins": { 149 + "requires": "nsPlugin" 150 + }, 151 + "setup": [ 152 + "$IP link add dev $DUMMY type dummy || /bin/true" 153 + ], 154 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 1", 155 + "expExitCode": "0", 156 + "verifyCmd": "$TC class show dev $DUMMY", 157 + "matchPattern": "class gred 1:", 158 + "matchCount": "0", 159 + "teardown": [ 160 + "$TC qdisc del dev $DUMMY handle 1: root", 161 + "$IP link del dev $DUMMY type dummy" 162 + ] 163 + } 164 + ]
+210
tools/testing/selftests/tc-testing/tc-tests/qdiscs/hhf.json
··· 1 + [ 2 + { 3 + "id": "4812", 4 + "name": "Create HHF with default setting", 5 + "category": [ 6 + "qdisc", 7 + "hhf" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc hhf 1: root refcnt [0-9]+.*hh_limit 2048 reset_timeout 40ms admit_bytes 128Kb evict_timeout 1s non_hh_weight 2", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "8a92", 27 + "name": "Create HHF with limit setting", 28 + "category": [ 29 + "qdisc", 30 + "hhf" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true" 37 + ], 38 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf limit 1500", 39 + "expExitCode": "0", 40 + "verifyCmd": "$TC qdisc show dev $DUMMY", 41 + "matchPattern": "qdisc hhf 1: root refcnt [0-9]+ limit 1500p.*hh_limit 2048 reset_timeout 40ms admit_bytes 128Kb evict_timeout 1s non_hh_weight 2", 42 + "matchCount": "1", 43 + "teardown": [ 44 + "$TC qdisc del dev $DUMMY handle 1: root", 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "3491", 50 + "name": "Create HHF with quantum setting", 51 + "category": [ 52 + "qdisc", 53 + "hhf" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true" 60 + ], 61 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf quantum 9000", 62 + "expExitCode": "0", 63 + "verifyCmd": "$TC qdisc show dev $DUMMY", 64 + "matchPattern": "qdisc hhf 1: root refcnt [0-9]+.*quantum 9000b hh_limit 2048 reset_timeout 40ms admit_bytes 128Kb evict_timeout 1s non_hh_weight 2", 65 + "matchCount": "1", 66 + "teardown": [ 67 + "$TC qdisc del dev $DUMMY handle 1: root", 68 + "$IP link del dev $DUMMY type dummy" 69 + ] 70 + }, 71 + { 72 + "id": "ba04", 73 + "name": "Create HHF with reset_timeout setting", 74 + "category": [ 75 + "qdisc", 76 + "hhf" 77 + ], 78 + "plugins": { 79 + "requires": "nsPlugin" 80 + }, 81 + "setup": [ 82 + "$IP link add dev $DUMMY type dummy || /bin/true" 83 + ], 84 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf reset_timeout 100ms", 85 + "expExitCode": "0", 86 + "verifyCmd": "$TC qdisc show dev $DUMMY", 87 + "matchPattern": "qdisc hhf 1: root refcnt [0-9]+.*hh_limit 2048 reset_timeout 100ms admit_bytes 128Kb evict_timeout 1s non_hh_weight 2", 88 + "matchCount": "1", 89 + "teardown": [ 90 + "$TC qdisc del dev $DUMMY handle 1: root", 91 + "$IP link del dev $DUMMY type dummy" 92 + ] 93 + }, 94 + { 95 + "id": "4238", 96 + "name": "Create HHF with admit_bytes setting", 97 + "category": [ 98 + "qdisc", 99 + "hhf" 100 + ], 101 + "plugins": { 102 + "requires": "nsPlugin" 103 + }, 104 + "setup": [ 105 + "$IP link add dev $DUMMY type dummy || /bin/true" 106 + ], 107 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf admit_bytes 100000", 108 + "expExitCode": "0", 109 + "verifyCmd": "$TC qdisc show dev $DUMMY", 110 + "matchPattern": "qdisc hhf 1: root refcnt [0-9]+.*hh_limit 2048 reset_timeout 40ms admit_bytes 100000b evict_timeout 1s non_hh_weight 2", 111 + "matchCount": "1", 112 + "teardown": [ 113 + "$TC qdisc del dev $DUMMY handle 1: root", 114 + "$IP link del dev $DUMMY type dummy" 115 + ] 116 + }, 117 + { 118 + "id": "839f", 119 + "name": "Create HHF with evict_timeout setting", 120 + "category": [ 121 + "qdisc", 122 + "hhf" 123 + ], 124 + "plugins": { 125 + "requires": "nsPlugin" 126 + }, 127 + "setup": [ 128 + "$IP link add dev $DUMMY type dummy || /bin/true" 129 + ], 130 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf evict_timeout 0.5s", 131 + "expExitCode": "0", 132 + "verifyCmd": "$TC qdisc show dev $DUMMY", 133 + "matchPattern": "qdisc hhf 1: root refcnt [0-9]+.*hh_limit 2048 reset_timeout 40ms admit_bytes 128Kb evict_timeout 500ms non_hh_weight 2", 134 + "matchCount": "1", 135 + "teardown": [ 136 + "$TC qdisc del dev $DUMMY handle 1: root", 137 + "$IP link del dev $DUMMY type dummy" 138 + ] 139 + }, 140 + { 141 + "id": "a044", 142 + "name": "Create HHF with non_hh_weight setting", 143 + "category": [ 144 + "qdisc", 145 + "hhf" 146 + ], 147 + "plugins": { 148 + "requires": "nsPlugin" 149 + }, 150 + "setup": [ 151 + "$IP link add dev $DUMMY type dummy || /bin/true" 152 + ], 153 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf non_hh_weight 10", 154 + "expExitCode": "0", 155 + "verifyCmd": "$TC qdisc show dev $DUMMY", 156 + "matchPattern": "qdisc hhf 1: root refcnt [0-9]+.*hh_limit 2048 reset_timeout 40ms admit_bytes 128Kb evict_timeout 1s non_hh_weight 10", 157 + "matchCount": "1", 158 + "teardown": [ 159 + "$TC qdisc del dev $DUMMY handle 1: root", 160 + "$IP link del dev $DUMMY type dummy" 161 + ] 162 + }, 163 + { 164 + "id": "32f9", 165 + "name": "Change HHF with limit setting", 166 + "category": [ 167 + "qdisc", 168 + "hhf" 169 + ], 170 + "plugins": { 171 + "requires": "nsPlugin" 172 + }, 173 + "setup": [ 174 + "$IP link add dev $DUMMY type dummy || /bin/true", 175 + "$TC qdisc add dev $DUMMY handle 1: root hhf" 176 + ], 177 + "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root hhf limit 1500", 178 + "expExitCode": "0", 179 + "verifyCmd": "$TC qdisc show dev $DUMMY", 180 + "matchPattern": "qdisc hhf 1: root refcnt [0-9]+ limit 1500p.*hh_limit 2048 reset_timeout 40ms admit_bytes 128Kb evict_timeout 1s non_hh_weight 2", 181 + "matchCount": "1", 182 + "teardown": [ 183 + "$TC qdisc del dev $DUMMY handle 1: root", 184 + "$IP link del dev $DUMMY type dummy" 185 + ] 186 + }, 187 + { 188 + "id": "385e", 189 + "name": "Show HHF class", 190 + "category": [ 191 + "qdisc", 192 + "hhf" 193 + ], 194 + "plugins": { 195 + "requires": "nsPlugin" 196 + }, 197 + "setup": [ 198 + "$IP link add dev $DUMMY type dummy || /bin/true" 199 + ], 200 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf", 201 + "expExitCode": "0", 202 + "verifyCmd": "$TC class show dev $DUMMY", 203 + "matchPattern": "class hhf 1:", 204 + "matchCount": "0", 205 + "teardown": [ 206 + "$TC qdisc del dev $DUMMY handle 1: root", 207 + "$IP link del dev $DUMMY type dummy" 208 + ] 209 + } 210 + ]
+119
tools/testing/selftests/tc-testing/tc-tests/qdiscs/pfifo_fast.json
··· 1 + [ 2 + { 3 + "id": "900c", 4 + "name": "Create pfifo_fast with default setting", 5 + "category": [ 6 + "qdisc", 7 + "pfifo_fast" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo_fast", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc pfifo_fast 1: root refcnt [0-9]+ bands 3 priomap", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "7470", 27 + "name": "Dump pfifo_fast stats", 28 + "category": [ 29 + "qdisc", 30 + "pfifo_fast" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true" 37 + ], 38 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo_fast", 39 + "expExitCode": "0", 40 + "verifyCmd": "$TC -s qdisc show dev $DUMMY", 41 + "matchPattern": "Sent.*bytes.*pkt \\(dropped.*overlimits.*requeues .*\\)", 42 + "matchCount": "1", 43 + "teardown": [ 44 + "$TC qdisc del dev $DUMMY handle 1: root", 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "b974", 50 + "name": "Replace pfifo_fast with different handle", 51 + "category": [ 52 + "qdisc", 53 + "pfifo_fast" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true", 60 + "$TC qdisc add dev $DUMMY handle 1: root pfifo_fast" 61 + ], 62 + "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 2: root pfifo_fast", 63 + "expExitCode": "0", 64 + "verifyCmd": "$TC qdisc show dev $DUMMY", 65 + "matchPattern": "qdisc pfifo_fast 2: root refcnt [0-9]+ bands 3 priomap", 66 + "matchCount": "1", 67 + "teardown": [ 68 + "$TC qdisc del dev $DUMMY handle 2: root", 69 + "$IP link del dev $DUMMY type dummy" 70 + ] 71 + }, 72 + { 73 + "id": "3240", 74 + "name": "Delete pfifo_fast with valid handle", 75 + "category": [ 76 + "qdisc", 77 + "pfifo_fast" 78 + ], 79 + "plugins": { 80 + "requires": "nsPlugin" 81 + }, 82 + "setup": [ 83 + "$IP link add dev $DUMMY type dummy || /bin/true", 84 + "$TC qdisc add dev $DUMMY handle 1: root pfifo_fast" 85 + ], 86 + "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 87 + "expExitCode": "0", 88 + "verifyCmd": "$TC qdisc show dev $DUMMY", 89 + "matchPattern": "qdisc pfifo_fast 1: root refcnt [0-9]+ bands 3 priomap", 90 + "matchCount": "0", 91 + "teardown": [ 92 + "$IP link del dev $DUMMY type dummy" 93 + ] 94 + }, 95 + { 96 + "id": "4385", 97 + "name": "Delete pfifo_fast with invalid handle", 98 + "category": [ 99 + "qdisc", 100 + "pfifo_fast" 101 + ], 102 + "plugins": { 103 + "requires": "nsPlugin" 104 + }, 105 + "setup": [ 106 + "$IP link add dev $DUMMY type dummy || /bin/true", 107 + "$TC qdisc add dev $DUMMY handle 1: root pfifo_fast" 108 + ], 109 + "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 2: root", 110 + "expExitCode": "2", 111 + "verifyCmd": "$TC qdisc show dev $DUMMY", 112 + "matchPattern": "qdisc pfifo_fast 1: root refcnt [0-9]+ bands 3 priomap", 113 + "matchCount": "1", 114 + "teardown": [ 115 + "$TC qdisc del dev $DUMMY handle 1: root", 116 + "$IP link del dev $DUMMY type dummy" 117 + ] 118 + } 119 + ]
+188
tools/testing/selftests/tc-testing/tc-tests/qdiscs/plug.json
··· 1 + [ 2 + { 3 + "id": "3289", 4 + "name": "Create PLUG with default setting", 5 + "category": [ 6 + "qdisc", 7 + "plug" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root plug", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc plug 1: root refcnt", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "0917", 27 + "name": "Create PLUG with block setting", 28 + "category": [ 29 + "qdisc", 30 + "plug" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true" 37 + ], 38 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root plug block", 39 + "expExitCode": "0", 40 + "verifyCmd": "$TC qdisc show dev $DUMMY", 41 + "matchPattern": "qdisc plug 1: root refcnt", 42 + "matchCount": "1", 43 + "teardown": [ 44 + "$TC qdisc del dev $DUMMY handle 1: root", 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "483b", 50 + "name": "Create PLUG with release setting", 51 + "category": [ 52 + "qdisc", 53 + "plug" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true" 60 + ], 61 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root plug release", 62 + "expExitCode": "0", 63 + "verifyCmd": "$TC qdisc show dev $DUMMY", 64 + "matchPattern": "qdisc plug 1: root refcnt", 65 + "matchCount": "1", 66 + "teardown": [ 67 + "$TC qdisc del dev $DUMMY handle 1: root", 68 + "$IP link del dev $DUMMY type dummy" 69 + ] 70 + }, 71 + { 72 + "id": "4995", 73 + "name": "Create PLUG with release_indefinite setting", 74 + "category": [ 75 + "qdisc", 76 + "plug" 77 + ], 78 + "plugins": { 79 + "requires": "nsPlugin" 80 + }, 81 + "setup": [ 82 + "$IP link add dev $DUMMY type dummy || /bin/true" 83 + ], 84 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root plug release_indefinite", 85 + "expExitCode": "0", 86 + "verifyCmd": "$TC qdisc show dev $DUMMY", 87 + "matchPattern": "qdisc plug 1: root refcnt", 88 + "matchCount": "1", 89 + "teardown": [ 90 + "$TC qdisc del dev $DUMMY handle 1: root", 91 + "$IP link del dev $DUMMY type dummy" 92 + ] 93 + }, 94 + { 95 + "id": "389c", 96 + "name": "Create PLUG with limit setting", 97 + "category": [ 98 + "qdisc", 99 + "plug" 100 + ], 101 + "plugins": { 102 + "requires": "nsPlugin" 103 + }, 104 + "setup": [ 105 + "$IP link add dev $DUMMY type dummy || /bin/true" 106 + ], 107 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root plug limit 100", 108 + "expExitCode": "0", 109 + "verifyCmd": "$TC qdisc show dev $DUMMY", 110 + "matchPattern": "qdisc plug 1: root refcnt", 111 + "matchCount": "1", 112 + "teardown": [ 113 + "$TC qdisc del dev $DUMMY handle 1: root", 114 + "$IP link del dev $DUMMY type dummy" 115 + ] 116 + }, 117 + { 118 + "id": "384a", 119 + "name": "Delete PLUG with valid handle", 120 + "category": [ 121 + "qdisc", 122 + "plug" 123 + ], 124 + "plugins": { 125 + "requires": "nsPlugin" 126 + }, 127 + "setup": [ 128 + "$IP link add dev $DUMMY type dummy || /bin/true", 129 + "$TC qdisc add dev $DUMMY handle 1: root plug" 130 + ], 131 + "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 132 + "expExitCode": "0", 133 + "verifyCmd": "$TC qdisc show dev $DUMMY", 134 + "matchPattern": "qdisc plug 1: root refcnt", 135 + "matchCount": "0", 136 + "teardown": [ 137 + "$IP link del dev $DUMMY type dummy" 138 + ] 139 + }, 140 + { 141 + "id": "439a", 142 + "name": "Replace PLUG with limit setting", 143 + "category": [ 144 + "qdisc", 145 + "plug" 146 + ], 147 + "plugins": { 148 + "requires": "nsPlugin" 149 + }, 150 + "setup": [ 151 + "$IP link add dev $DUMMY type dummy || /bin/true", 152 + "$TC qdisc add dev $DUMMY handle 1: root plug" 153 + ], 154 + "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root plug limit 1000", 155 + "expExitCode": "0", 156 + "verifyCmd": "$TC qdisc show dev $DUMMY", 157 + "matchPattern": "qdisc plug 1: root refcnt", 158 + "matchCount": "1", 159 + "teardown": [ 160 + "$TC qdisc del dev $DUMMY handle 1: root", 161 + "$IP link del dev $DUMMY type dummy" 162 + ] 163 + }, 164 + { 165 + "id": "9831", 166 + "name": "Change PLUG with limit setting", 167 + "category": [ 168 + "qdisc", 169 + "plug" 170 + ], 171 + "plugins": { 172 + "requires": "nsPlugin" 173 + }, 174 + "setup": [ 175 + "$IP link add dev $DUMMY type dummy || /bin/true", 176 + "$TC qdisc add dev $DUMMY handle 1: root plug" 177 + ], 178 + "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root plug limit 1000", 179 + "expExitCode": "0", 180 + "verifyCmd": "$TC qdisc show dev $DUMMY", 181 + "matchPattern": "qdisc plug 1: root refcnt", 182 + "matchCount": "1", 183 + "teardown": [ 184 + "$TC qdisc del dev $DUMMY handle 1: root", 185 + "$IP link del dev $DUMMY type dummy" 186 + ] 187 + } 188 + ]
+279
tools/testing/selftests/tc-testing/tc-tests/qdiscs/sfb.json
··· 1 + [ 2 + { 3 + "id": "3294", 4 + "name": "Create SFB with default setting", 5 + "category": [ 6 + "qdisc", 7 + "sfb" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc sfb 1: root refcnt [0-9]+ rehash 600s db 60s", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "430a", 27 + "name": "Create SFB with rehash setting", 28 + "category": [ 29 + "qdisc", 30 + "sfb" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true" 37 + ], 38 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb rehash 60", 39 + "expExitCode": "0", 40 + "verifyCmd": "$TC qdisc show dev $DUMMY", 41 + "matchPattern": "qdisc sfb 1: root refcnt [0-9]+ rehash 60ms db 60s", 42 + "matchCount": "1", 43 + "teardown": [ 44 + "$TC qdisc del dev $DUMMY handle 1: root", 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "3410", 50 + "name": "Create SFB with db setting", 51 + "category": [ 52 + "qdisc", 53 + "sfb" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true" 60 + ], 61 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb db 10", 62 + "expExitCode": "0", 63 + "verifyCmd": "$TC qdisc show dev $DUMMY", 64 + "matchPattern": "qdisc sfb 1: root refcnt [0-9]+ rehash 600s db 10ms", 65 + "matchCount": "1", 66 + "teardown": [ 67 + "$TC qdisc del dev $DUMMY handle 1: root", 68 + "$IP link del dev $DUMMY type dummy" 69 + ] 70 + }, 71 + { 72 + "id": "49a0", 73 + "name": "Create SFB with limit setting", 74 + "category": [ 75 + "qdisc", 76 + "sfb" 77 + ], 78 + "plugins": { 79 + "requires": "nsPlugin" 80 + }, 81 + "setup": [ 82 + "$IP link add dev $DUMMY type dummy || /bin/true" 83 + ], 84 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb limit 100", 85 + "expExitCode": "0", 86 + "verifyCmd": "$TC qdisc show dev $DUMMY", 87 + "matchPattern": "qdisc sfb 1: root refcnt [0-9]+ rehash 600s db 60s limit 100p", 88 + "matchCount": "1", 89 + "teardown": [ 90 + "$TC qdisc del dev $DUMMY handle 1: root", 91 + "$IP link del dev $DUMMY type dummy" 92 + ] 93 + }, 94 + { 95 + "id": "1241", 96 + "name": "Create SFB with max setting", 97 + "category": [ 98 + "qdisc", 99 + "sfb" 100 + ], 101 + "plugins": { 102 + "requires": "nsPlugin" 103 + }, 104 + "setup": [ 105 + "$IP link add dev $DUMMY type dummy || /bin/true" 106 + ], 107 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb max 100", 108 + "expExitCode": "0", 109 + "verifyCmd": "$TC qdisc show dev $DUMMY", 110 + "matchPattern": "qdisc sfb 1: root refcnt 2 rehash 600s db 60s.*max 100p", 111 + "matchCount": "1", 112 + "teardown": [ 113 + "$TC qdisc del dev $DUMMY handle 1: root", 114 + "$IP link del dev $DUMMY type dummy" 115 + ] 116 + }, 117 + { 118 + "id": "3249", 119 + "name": "Create SFB with target setting", 120 + "category": [ 121 + "qdisc", 122 + "sfb" 123 + ], 124 + "plugins": { 125 + "requires": "nsPlugin" 126 + }, 127 + "setup": [ 128 + "$IP link add dev $DUMMY type dummy || /bin/true" 129 + ], 130 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb target 100", 131 + "expExitCode": "0", 132 + "verifyCmd": "$TC qdisc show dev $DUMMY", 133 + "matchPattern": "qdisc sfb 1: root refcnt 2 rehash 600s db 60s.*target 100p", 134 + "matchCount": "1", 135 + "teardown": [ 136 + "$TC qdisc del dev $DUMMY handle 1: root", 137 + "$IP link del dev $DUMMY type dummy" 138 + ] 139 + }, 140 + { 141 + "id": "30a9", 142 + "name": "Create SFB with increment setting", 143 + "category": [ 144 + "qdisc", 145 + "sfb" 146 + ], 147 + "plugins": { 148 + "requires": "nsPlugin" 149 + }, 150 + "setup": [ 151 + "$IP link add dev $DUMMY type dummy || /bin/true" 152 + ], 153 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb increment 0.1", 154 + "expExitCode": "0", 155 + "verifyCmd": "$TC qdisc show dev $DUMMY", 156 + "matchPattern": "qdisc sfb 1: root refcnt 2 rehash 600s db 60s.*increment 0.1", 157 + "matchCount": "1", 158 + "teardown": [ 159 + "$TC qdisc del dev $DUMMY handle 1: root", 160 + "$IP link del dev $DUMMY type dummy" 161 + ] 162 + }, 163 + { 164 + "id": "239a", 165 + "name": "Create SFB with decrement setting", 166 + "category": [ 167 + "qdisc", 168 + "sfb" 169 + ], 170 + "plugins": { 171 + "requires": "nsPlugin" 172 + }, 173 + "setup": [ 174 + "$IP link add dev $DUMMY type dummy || /bin/true" 175 + ], 176 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb decrement 0.1", 177 + "expExitCode": "0", 178 + "verifyCmd": "$TC qdisc show dev $DUMMY", 179 + "matchPattern": "qdisc sfb 1: root refcnt 2 rehash 600s db 60s.*decrement 0.1", 180 + "matchCount": "1", 181 + "teardown": [ 182 + "$TC qdisc del dev $DUMMY handle 1: root", 183 + "$IP link del dev $DUMMY type dummy" 184 + ] 185 + }, 186 + { 187 + "id": "9301", 188 + "name": "Create SFB with penalty_rate setting", 189 + "category": [ 190 + "qdisc", 191 + "sfb" 192 + ], 193 + "plugins": { 194 + "requires": "nsPlugin" 195 + }, 196 + "setup": [ 197 + "$IP link add dev $DUMMY type dummy || /bin/true" 198 + ], 199 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb penalty_rate 4000", 200 + "expExitCode": "0", 201 + "verifyCmd": "$TC qdisc show dev $DUMMY", 202 + "matchPattern": "qdisc sfb 1: root refcnt 2 rehash 600s db 60s.*penalty_rate 4000pps", 203 + "matchCount": "1", 204 + "teardown": [ 205 + "$TC qdisc del dev $DUMMY handle 1: root", 206 + "$IP link del dev $DUMMY type dummy" 207 + ] 208 + }, 209 + { 210 + "id": "2a01", 211 + "name": "Create SFB with penalty_burst setting", 212 + "category": [ 213 + "qdisc", 214 + "sfb" 215 + ], 216 + "plugins": { 217 + "requires": "nsPlugin" 218 + }, 219 + "setup": [ 220 + "$IP link add dev $DUMMY type dummy || /bin/true" 221 + ], 222 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb penalty_burst 64", 223 + "expExitCode": "0", 224 + "verifyCmd": "$TC qdisc show dev $DUMMY", 225 + "matchPattern": "qdisc sfb 1: root refcnt 2 rehash 600s db 60s.*penalty_burst 64p", 226 + "matchCount": "1", 227 + "teardown": [ 228 + "$TC qdisc del dev $DUMMY handle 1: root", 229 + "$IP link del dev $DUMMY type dummy" 230 + ] 231 + }, 232 + { 233 + "id": "3209", 234 + "name": "Change SFB with rehash setting", 235 + "category": [ 236 + "qdisc", 237 + "sfb" 238 + ], 239 + "plugins": { 240 + "requires": "nsPlugin" 241 + }, 242 + "setup": [ 243 + "$IP link add dev $DUMMY type dummy || /bin/true", 244 + "$TC qdisc add dev $DUMMY handle 1: root sfb penalty_burst 64" 245 + ], 246 + "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root sfb rehash 100", 247 + "expExitCode": "0", 248 + "verifyCmd": "$TC qdisc show dev $DUMMY", 249 + "matchPattern": "qdisc sfb 1: root refcnt 2 rehash 100ms db 60s", 250 + "matchCount": "1", 251 + "teardown": [ 252 + "$TC qdisc del dev $DUMMY handle 1: root", 253 + "$IP link del dev $DUMMY type dummy" 254 + ] 255 + }, 256 + { 257 + "id": "5447", 258 + "name": "Show SFB class", 259 + "category": [ 260 + "qdisc", 261 + "sfb" 262 + ], 263 + "plugins": { 264 + "requires": "nsPlugin" 265 + }, 266 + "setup": [ 267 + "$IP link add dev $DUMMY type dummy || /bin/true" 268 + ], 269 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb", 270 + "expExitCode": "0", 271 + "verifyCmd": "$TC class show dev $DUMMY", 272 + "matchPattern": "class sfb 1:", 273 + "matchCount": "0", 274 + "teardown": [ 275 + "$TC qdisc del dev $DUMMY handle 1: root", 276 + "$IP link del dev $DUMMY type dummy" 277 + ] 278 + } 279 + ]
+232
tools/testing/selftests/tc-testing/tc-tests/qdiscs/sfq.json
··· 1 + [ 2 + { 3 + "id": "7482", 4 + "name": "Create SFQ with default setting", 5 + "category": [ 6 + "qdisc", 7 + "sfq" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum.*depth 127 divisor 1024", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "c186", 27 + "name": "Create SFQ with limit setting", 28 + "category": [ 29 + "qdisc", 30 + "sfq" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true" 37 + ], 38 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq limit 8", 39 + "expExitCode": "0", 40 + "verifyCmd": "$TC qdisc show dev $DUMMY", 41 + "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 8p", 42 + "matchCount": "1", 43 + "teardown": [ 44 + "$TC qdisc del dev $DUMMY handle 1: root", 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "ae23", 50 + "name": "Create SFQ with perturb setting", 51 + "category": [ 52 + "qdisc", 53 + "sfq" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true" 60 + ], 61 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq perturb 10", 62 + "expExitCode": "0", 63 + "verifyCmd": "$TC qdisc show dev $DUMMY", 64 + "matchPattern": "depth 127 divisor 1024 perturb 10sec", 65 + "matchCount": "1", 66 + "teardown": [ 67 + "$TC qdisc del dev $DUMMY handle 1: root", 68 + "$IP link del dev $DUMMY type dummy" 69 + ] 70 + }, 71 + { 72 + "id": "a430", 73 + "name": "Create SFQ with quantum setting", 74 + "category": [ 75 + "qdisc", 76 + "sfq" 77 + ], 78 + "plugins": { 79 + "requires": "nsPlugin" 80 + }, 81 + "setup": [ 82 + "$IP link add dev $DUMMY type dummy || /bin/true" 83 + ], 84 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq quantum 9000", 85 + "expExitCode": "0", 86 + "verifyCmd": "$TC qdisc show dev $DUMMY", 87 + "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 9000b depth 127 divisor 1024", 88 + "matchCount": "1", 89 + "teardown": [ 90 + "$TC qdisc del dev $DUMMY handle 1: root", 91 + "$IP link del dev $DUMMY type dummy" 92 + ] 93 + }, 94 + { 95 + "id": "4539", 96 + "name": "Create SFQ with divisor setting", 97 + "category": [ 98 + "qdisc", 99 + "sfq" 100 + ], 101 + "plugins": { 102 + "requires": "nsPlugin" 103 + }, 104 + "setup": [ 105 + "$IP link add dev $DUMMY type dummy || /bin/true" 106 + ], 107 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq divisor 512", 108 + "expExitCode": "0", 109 + "verifyCmd": "$TC qdisc show dev $DUMMY", 110 + "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 1514b depth 127 divisor 512", 111 + "matchCount": "1", 112 + "teardown": [ 113 + "$TC qdisc del dev $DUMMY handle 1: root", 114 + "$IP link del dev $DUMMY type dummy" 115 + ] 116 + }, 117 + { 118 + "id": "b089", 119 + "name": "Create SFQ with flows setting", 120 + "category": [ 121 + "qdisc", 122 + "sfq" 123 + ], 124 + "plugins": { 125 + "requires": "nsPlugin" 126 + }, 127 + "setup": [ 128 + "$IP link add dev $DUMMY type dummy || /bin/true" 129 + ], 130 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq flows 20", 131 + "expExitCode": "0", 132 + "verifyCmd": "$TC qdisc show dev $DUMMY", 133 + "matchPattern": "qdisc sfq 1: root refcnt", 134 + "matchCount": "1", 135 + "teardown": [ 136 + "$TC qdisc del dev $DUMMY handle 1: root", 137 + "$IP link del dev $DUMMY type dummy" 138 + ] 139 + }, 140 + { 141 + "id": "99a0", 142 + "name": "Create SFQ with depth setting", 143 + "category": [ 144 + "qdisc", 145 + "sfq" 146 + ], 147 + "plugins": { 148 + "requires": "nsPlugin" 149 + }, 150 + "setup": [ 151 + "$IP link add dev $DUMMY type dummy || /bin/true" 152 + ], 153 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq depth 64", 154 + "expExitCode": "0", 155 + "verifyCmd": "$TC qdisc show dev $DUMMY", 156 + "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 1514b depth 64 divisor 1024", 157 + "matchCount": "1", 158 + "teardown": [ 159 + "$TC qdisc del dev $DUMMY handle 1: root", 160 + "$IP link del dev $DUMMY type dummy" 161 + ] 162 + }, 163 + { 164 + "id": "7389", 165 + "name": "Create SFQ with headdrop setting", 166 + "category": [ 167 + "qdisc", 168 + "sfq" 169 + ], 170 + "plugins": { 171 + "requires": "nsPlugin" 172 + }, 173 + "setup": [ 174 + "$IP link add dev $DUMMY type dummy || /bin/true" 175 + ], 176 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq headdrop", 177 + "expExitCode": "0", 178 + "verifyCmd": "$TC qdisc show dev $DUMMY", 179 + "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 1514b depth 127 headdrop divisor 1024", 180 + "matchCount": "1", 181 + "teardown": [ 182 + "$TC qdisc del dev $DUMMY handle 1: root", 183 + "$IP link del dev $DUMMY type dummy" 184 + ] 185 + }, 186 + { 187 + "id": "6472", 188 + "name": "Create SFQ with redflowlimit setting", 189 + "category": [ 190 + "qdisc", 191 + "sfq" 192 + ], 193 + "plugins": { 194 + "requires": "nsPlugin" 195 + }, 196 + "setup": [ 197 + "$IP link add dev $DUMMY type dummy || /bin/true" 198 + ], 199 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq redflowlimit 100000 min 8000 max 60000 probability 0.20 ecn headdrop", 200 + "expExitCode": "0", 201 + "verifyCmd": "$TC qdisc show dev $DUMMY", 202 + "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 1514b depth 127 headdrop divisor 1024 ewma 6 min 8000b max 60000b probability 0.2 ecn", 203 + "matchCount": "1", 204 + "teardown": [ 205 + "$TC qdisc del dev $DUMMY handle 1: root", 206 + "$IP link del dev $DUMMY type dummy" 207 + ] 208 + }, 209 + { 210 + "id": "8929", 211 + "name": "Show SFQ class", 212 + "category": [ 213 + "qdisc", 214 + "sfq" 215 + ], 216 + "plugins": { 217 + "requires": "nsPlugin" 218 + }, 219 + "setup": [ 220 + "$IP link add dev $DUMMY type dummy || /bin/true" 221 + ], 222 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq", 223 + "expExitCode": "0", 224 + "verifyCmd": "$TC class show dev $DUMMY", 225 + "matchPattern": "class sfq 1:", 226 + "matchCount": "0", 227 + "teardown": [ 228 + "$TC qdisc del dev $DUMMY handle 1: root", 229 + "$IP link del dev $DUMMY type dummy" 230 + ] 231 + } 232 + ]
+95
tools/testing/selftests/tc-testing/tc-tests/qdiscs/skbprio.json
··· 1 + [ 2 + { 3 + "id": "283e", 4 + "name": "Create skbprio with default setting", 5 + "category": [ 6 + "qdisc", 7 + "skbprio" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root skbprio", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc skbprio 1: root refcnt [0-9]+ limit 64", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "c086", 27 + "name": "Create skbprio with limit setting", 28 + "category": [ 29 + "qdisc", 30 + "skbprio" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true" 37 + ], 38 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root skbprio limit 1", 39 + "expExitCode": "0", 40 + "verifyCmd": "$TC qdisc show dev $DUMMY", 41 + "matchPattern": "qdisc skbprio 1: root refcnt [0-9]+ limit 1", 42 + "matchCount": "1", 43 + "teardown": [ 44 + "$TC qdisc del dev $DUMMY handle 1: root", 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "6733", 50 + "name": "Change skbprio with limit setting", 51 + "category": [ 52 + "qdisc", 53 + "skbprio" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true", 60 + "$TC qdisc add dev $DUMMY handle 1: root skbprio" 61 + ], 62 + "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root skbprio limit 32", 63 + "expExitCode": "0", 64 + "verifyCmd": "$TC qdisc show dev $DUMMY", 65 + "matchPattern": "qdisc skbprio 1: root refcnt [0-9]+ limit 32", 66 + "matchCount": "1", 67 + "teardown": [ 68 + "$TC qdisc del dev $DUMMY handle 1: root", 69 + "$IP link del dev $DUMMY type dummy" 70 + ] 71 + }, 72 + { 73 + "id": "2958", 74 + "name": "Show skbprio class", 75 + "category": [ 76 + "qdisc", 77 + "skbprio" 78 + ], 79 + "plugins": { 80 + "requires": "nsPlugin" 81 + }, 82 + "setup": [ 83 + "$IP link add dev $DUMMY type dummy || /bin/true" 84 + ], 85 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root skbprio", 86 + "expExitCode": "0", 87 + "verifyCmd": "$TC class show dev $DUMMY", 88 + "matchPattern": "class skbprio 1:", 89 + "matchCount": "64", 90 + "teardown": [ 91 + "$TC qdisc del dev $DUMMY handle 1: root", 92 + "$IP link del dev $DUMMY type dummy" 93 + ] 94 + } 95 + ]
+135
tools/testing/selftests/tc-testing/tc-tests/qdiscs/taprio.json
··· 1 + [ 2 + { 3 + "id": "ba39", 4 + "name": "Add taprio Qdisc to multi-queue device (8 queues)", 5 + "category": [ 6 + "qdisc", 7 + "taprio" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "echo \"1 1 8\" > /sys/bus/netdevsim/new_device" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $ETH", 18 + "matchPattern": "qdisc taprio 1: root refcnt [0-9]+ tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "echo \"1\" > /sys/bus/netdevsim/del_device" 22 + ] 23 + }, 24 + { 25 + "id": "9462", 26 + "name": "Add taprio Qdisc with multiple sched-entry", 27 + "category": [ 28 + "qdisc", 29 + "taprio" 30 + ], 31 + "plugins": { 32 + "requires": "nsPlugin" 33 + }, 34 + "setup": [ 35 + "echo \"1 1 8\" > /sys/bus/netdevsim/new_device" 36 + ], 37 + "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 sched-entry S 03 300000 sched-entry S 04 400000 flags 0x1 clockid CLOCK_TAI", 38 + "expExitCode": "0", 39 + "verifyCmd": "$TC qdisc show dev $ETH", 40 + "matchPattern": "index [0-9]+ cmd S gatemask 0x[0-9]+ interval [0-9]+00000", 41 + "matchCount": "3", 42 + "teardown": [ 43 + "echo \"1\" > /sys/bus/netdevsim/del_device" 44 + ] 45 + }, 46 + { 47 + "id": "8d92", 48 + "name": "Add taprio Qdisc with txtime-delay", 49 + "category": [ 50 + "qdisc", 51 + "taprio" 52 + ], 53 + "plugins": { 54 + "requires": "nsPlugin" 55 + }, 56 + "setup": [ 57 + "echo \"1 1 8\" > /sys/bus/netdevsim/new_device" 58 + ], 59 + "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 txtime-delay 500000 clockid CLOCK_TAI", 60 + "expExitCode": "0", 61 + "verifyCmd": "$TC qdisc show dev $ETH", 62 + "matchPattern": "clockid TAI flags 0x1 txtime delay 500000", 63 + "matchCount": "1", 64 + "teardown": [ 65 + "echo \"1\" > /sys/bus/netdevsim/del_device" 66 + ] 67 + }, 68 + { 69 + "id": "d092", 70 + "name": "Delete taprio Qdisc with valid handle", 71 + "category": [ 72 + "qdisc", 73 + "taprio" 74 + ], 75 + "plugins": { 76 + "requires": "nsPlugin" 77 + }, 78 + "setup": [ 79 + "echo \"1 1 8\" > /sys/bus/netdevsim/new_device", 80 + "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI" 81 + ], 82 + "cmdUnderTest": "$TC qdisc del dev $ETH root handle 1:", 83 + "expExitCode": "0", 84 + "verifyCmd": "$TC qdisc show dev $ETH", 85 + "matchPattern": "qdisc taprio 1: root refcnt", 86 + "matchCount": "0", 87 + "teardown": [ 88 + "echo \"1\" > /sys/bus/netdevsim/del_device" 89 + ] 90 + }, 91 + { 92 + "id": "8471", 93 + "name": "Show taprio class", 94 + "category": [ 95 + "qdisc", 96 + "taprio" 97 + ], 98 + "plugins": { 99 + "requires": "nsPlugin" 100 + }, 101 + "setup": [ 102 + "echo \"1 1 8\" > /sys/bus/netdevsim/new_device" 103 + ], 104 + "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI", 105 + "expExitCode": "0", 106 + "verifyCmd": "$TC class show dev $ETH", 107 + "matchPattern": "class taprio 1:[0-9]+ root leaf 1:", 108 + "matchCount": "8", 109 + "teardown": [ 110 + "echo \"1\" > /sys/bus/netdevsim/del_device" 111 + ] 112 + }, 113 + { 114 + "id": "0a85", 115 + "name": "Add taprio Qdisc to single-queue device", 116 + "category": [ 117 + "qdisc", 118 + "taprio" 119 + ], 120 + "plugins": { 121 + "requires": "nsPlugin" 122 + }, 123 + "setup": [ 124 + "echo \"1 1\" > /sys/bus/netdevsim/new_device" 125 + ], 126 + "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI", 127 + "expExitCode": "2", 128 + "verifyCmd": "$TC qdisc show dev $ETH", 129 + "matchPattern": "qdisc taprio 1: root refcnt", 130 + "matchCount": "0", 131 + "teardown": [ 132 + "echo \"1\" > /sys/bus/netdevsim/del_device" 133 + ] 134 + } 135 + ]
+211
tools/testing/selftests/tc-testing/tc-tests/qdiscs/tbf.json
··· 1 + [ 2 + { 3 + "id": "6430", 4 + "name": "Create TBF with default setting", 5 + "category": [ 6 + "qdisc", 7 + "tbf" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 10000", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 10Kbit burst 1500b limit 1000b", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "0518", 27 + "name": "Create TBF with mtu setting", 28 + "category": [ 29 + "qdisc", 30 + "tbf" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true" 37 + ], 38 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 20000 mtu 2048", 39 + "expExitCode": "0", 40 + "verifyCmd": "$TC qdisc show dev $DUMMY", 41 + "matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1500b limit 1000b", 42 + "matchCount": "1", 43 + "teardown": [ 44 + "$TC qdisc del dev $DUMMY handle 1: root", 45 + "$IP link del dev $DUMMY type dummy" 46 + ] 47 + }, 48 + { 49 + "id": "320a", 50 + "name": "Create TBF with peakrate setting", 51 + "category": [ 52 + "qdisc", 53 + "tbf" 54 + ], 55 + "plugins": { 56 + "requires": "nsPlugin" 57 + }, 58 + "setup": [ 59 + "$IP link add dev $DUMMY type dummy || /bin/true" 60 + ], 61 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 20000 mtu 1510 peakrate 30000", 62 + "expExitCode": "0", 63 + "verifyCmd": "$TC qdisc show dev $DUMMY", 64 + "matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1500b peakrate 30Kbit minburst.*limit 1000b", 65 + "matchCount": "1", 66 + "teardown": [ 67 + "$TC qdisc del dev $DUMMY handle 1: root", 68 + "$IP link del dev $DUMMY type dummy" 69 + ] 70 + }, 71 + { 72 + "id": "239b", 73 + "name": "Create TBF with latency setting", 74 + "category": [ 75 + "qdisc", 76 + "tbf" 77 + ], 78 + "plugins": { 79 + "requires": "nsPlugin" 80 + }, 81 + "setup": [ 82 + "$IP link add dev $DUMMY type dummy || /bin/true" 83 + ], 84 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf burst 1500 rate 20000 latency 100ms", 85 + "expExitCode": "0", 86 + "verifyCmd": "$TC qdisc show dev $DUMMY", 87 + "matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1500b lat 100ms", 88 + "matchCount": "1", 89 + "teardown": [ 90 + "$TC qdisc del dev $DUMMY handle 1: root", 91 + "$IP link del dev $DUMMY type dummy" 92 + ] 93 + }, 94 + { 95 + "id": "c975", 96 + "name": "Create TBF with overhead setting", 97 + "category": [ 98 + "qdisc", 99 + "tbf" 100 + ], 101 + "plugins": { 102 + "requires": "nsPlugin" 103 + }, 104 + "setup": [ 105 + "$IP link add dev $DUMMY type dummy || /bin/true" 106 + ], 107 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 20000 overhead 300", 108 + "expExitCode": "0", 109 + "verifyCmd": "$TC qdisc show dev $DUMMY", 110 + "matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1800b limit 1000b overhead 300", 111 + "matchCount": "1", 112 + "teardown": [ 113 + "$TC qdisc del dev $DUMMY handle 1: root", 114 + "$IP link del dev $DUMMY type dummy" 115 + ] 116 + }, 117 + { 118 + "id": "948c", 119 + "name": "Create TBF with linklayer setting", 120 + "category": [ 121 + "qdisc", 122 + "tbf" 123 + ], 124 + "plugins": { 125 + "requires": "nsPlugin" 126 + }, 127 + "setup": [ 128 + "$IP link add dev $DUMMY type dummy || /bin/true" 129 + ], 130 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 20000 linklayer atm", 131 + "expExitCode": "0", 132 + "verifyCmd": "$TC qdisc show dev $DUMMY", 133 + "matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1696b limit 1000b linklayer atm", 134 + "matchCount": "1", 135 + "teardown": [ 136 + "$TC qdisc del dev $DUMMY handle 1: root", 137 + "$IP link del dev $DUMMY type dummy" 138 + ] 139 + }, 140 + { 141 + "id": "3549", 142 + "name": "Replace TBF with mtu", 143 + "category": [ 144 + "qdisc", 145 + "tbf" 146 + ], 147 + "plugins": { 148 + "requires": "nsPlugin" 149 + }, 150 + "setup": [ 151 + "$IP link add dev $DUMMY type dummy || /bin/true", 152 + "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 20000 linklayer atm" 153 + ], 154 + "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 20000 linklayer ethernet", 155 + "expExitCode": "0", 156 + "verifyCmd": "$TC qdisc show dev $DUMMY", 157 + "matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1500b limit 1000b", 158 + "matchCount": "1", 159 + "teardown": [ 160 + "$TC qdisc del dev $DUMMY handle 1: root", 161 + "$IP link del dev $DUMMY type dummy" 162 + ] 163 + }, 164 + { 165 + "id": "f948", 166 + "name": "Change TBF with latency time", 167 + "category": [ 168 + "qdisc", 169 + "tbf" 170 + ], 171 + "plugins": { 172 + "requires": "nsPlugin" 173 + }, 174 + "setup": [ 175 + "$IP link add dev $DUMMY type dummy || /bin/true", 176 + "$TC qdisc add dev $DUMMY handle 1: root tbf burst 1500 rate 20000 latency 10ms" 177 + ], 178 + "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root tbf burst 1500 rate 20000 latency 200ms", 179 + "expExitCode": "0", 180 + "verifyCmd": "$TC qdisc show dev $DUMMY", 181 + "matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1500b lat 200ms", 182 + "matchCount": "1", 183 + "teardown": [ 184 + "$TC qdisc del dev $DUMMY handle 1: root", 185 + "$IP link del dev $DUMMY type dummy" 186 + ] 187 + }, 188 + { 189 + "id": "2348", 190 + "name": "Show TBF class", 191 + "category": [ 192 + "qdisc", 193 + "tbf" 194 + ], 195 + "plugins": { 196 + "requires": "nsPlugin" 197 + }, 198 + "setup": [ 199 + "$IP link add dev $DUMMY type dummy || /bin/true" 200 + ], 201 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 10000", 202 + "expExitCode": "0", 203 + "verifyCmd": "$TC class show dev $DUMMY", 204 + "matchPattern": "class tbf.*parent 1:", 205 + "matchCount": "1", 206 + "teardown": [ 207 + "$TC qdisc del dev $DUMMY handle 1: root", 208 + "$IP link del dev $DUMMY type dummy" 209 + ] 210 + } 211 + ]
+97
tools/testing/selftests/tc-testing/tc-tests/qdiscs/teql.json
··· 1 + [ 2 + { 3 + "id": "84a0", 4 + "name": "Create TEQL with default setting", 5 + "category": [ 6 + "qdisc", 7 + "teql" 8 + ], 9 + "plugins": { 10 + "requires": "nsPlugin" 11 + }, 12 + "setup": [ 13 + "$IP link add dev $DUMMY type dummy || /bin/true" 14 + ], 15 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root teql0", 16 + "expExitCode": "0", 17 + "verifyCmd": "$TC qdisc show dev $DUMMY", 18 + "matchPattern": "qdisc teql0 1: root refcnt", 19 + "matchCount": "1", 20 + "teardown": [ 21 + "$TC qdisc del dev $DUMMY handle 1: root", 22 + "$IP link del dev $DUMMY type dummy" 23 + ] 24 + }, 25 + { 26 + "id": "7734", 27 + "name": "Create TEQL with multiple device", 28 + "category": [ 29 + "qdisc", 30 + "teql" 31 + ], 32 + "plugins": { 33 + "requires": "nsPlugin" 34 + }, 35 + "setup": [ 36 + "$IP link add dev $DUMMY type dummy || /bin/true", 37 + "echo \"1 1 4\" > /sys/bus/netdevsim/new_device", 38 + "$TC qdisc add dev $ETH root handle 1: teql0" 39 + ], 40 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root teql0", 41 + "expExitCode": "0", 42 + "verifyCmd": "$TC qdisc show dev $DUMMY", 43 + "matchPattern": "qdisc teql0 1: root refcnt", 44 + "matchCount": "1", 45 + "teardown": [ 46 + "$TC qdisc del dev $DUMMY handle 1: root", 47 + "echo \"1\" > /sys/bus/netdevsim/del_device", 48 + "$IP link del dev $DUMMY type dummy" 49 + ] 50 + }, 51 + { 52 + "id": "34a9", 53 + "name": "Delete TEQL with valid handle", 54 + "category": [ 55 + "qdisc", 56 + "teql" 57 + ], 58 + "plugins": { 59 + "requires": "nsPlugin" 60 + }, 61 + "setup": [ 62 + "$IP link add dev $DUMMY type dummy || /bin/true", 63 + "$TC qdisc add dev $DUMMY handle 1: root teql0" 64 + ], 65 + "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 66 + "expExitCode": "0", 67 + "verifyCmd": "$TC qdisc show dev $DUMMY", 68 + "matchPattern": "qdisc teql0 1: root refcnt", 69 + "matchCount": "0", 70 + "teardown": [ 71 + "$IP link del dev $DUMMY type dummy" 72 + ] 73 + }, 74 + { 75 + "id": "6289", 76 + "name": "Show TEQL stats", 77 + "category": [ 78 + "qdisc", 79 + "teql" 80 + ], 81 + "plugins": { 82 + "requires": "nsPlugin" 83 + }, 84 + "setup": [ 85 + "$IP link add dev $DUMMY type dummy || /bin/true" 86 + ], 87 + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root teql0", 88 + "expExitCode": "0", 89 + "verifyCmd": "$TC -s qdisc show dev $DUMMY", 90 + "matchPattern": "qdisc teql0 1: root refcnt", 91 + "matchCount": "1", 92 + "teardown": [ 93 + "$TC qdisc del dev $DUMMY handle 1: root", 94 + "$IP link del dev $DUMMY type dummy" 95 + ] 96 + } 97 + ]