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>
This commit is contained in:
commit
2ae3cb58b9
@ -12,8 +12,22 @@ CONFIG_NET_SCHED=y
|
||||
#
|
||||
# Queueing/Scheduling
|
||||
#
|
||||
CONFIG_NET_SCH_ATM=m
|
||||
CONFIG_NET_SCH_CHOKE=m
|
||||
CONFIG_NET_SCH_CODEL=m
|
||||
CONFIG_NET_SCH_ETF=m
|
||||
CONFIG_NET_SCH_FQ=m
|
||||
CONFIG_NET_SCH_GRED=m
|
||||
CONFIG_NET_SCH_HHF=m
|
||||
CONFIG_NET_SCH_PLUG=m
|
||||
CONFIG_NET_SCH_PRIO=m
|
||||
CONFIG_NET_SCH_INGRESS=m
|
||||
CONFIG_NET_SCH_SFB=m
|
||||
CONFIG_NET_SCH_SFQ=m
|
||||
CONFIG_NET_SCH_SKBPRIO=m
|
||||
CONFIG_NET_SCH_TAPRIO=m
|
||||
CONFIG_NET_SCH_TBF=m
|
||||
CONFIG_NET_SCH_TEQL=m
|
||||
|
||||
#
|
||||
# Classification
|
||||
@ -67,3 +81,4 @@ CONFIG_NETDEVSIM=m
|
||||
## Network testing
|
||||
#
|
||||
CONFIG_CAN=m
|
||||
CONFIG_ATM=y
|
||||
|
94
tools/testing/selftests/tc-testing/tc-tests/qdiscs/atm.json
Normal file
94
tools/testing/selftests/tc-testing/tc-tests/qdiscs/atm.json
Normal file
@ -0,0 +1,94 @@
|
||||
[
|
||||
{
|
||||
"id": "7628",
|
||||
"name": "Create ATM with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"atm"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root atm",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc atm 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "390a",
|
||||
"name": "Delete ATM with valid handle",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"atm"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root atm"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc atm 1: root refcnt",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "32a0",
|
||||
"name": "Show ATM class",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"atm"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root atm",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC class show dev $DUMMY",
|
||||
"matchPattern": "class atm 1: parent 1:",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "6310",
|
||||
"name": "Dump ATM stats",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"atm"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root atm",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC -s qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc atm 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
188
tools/testing/selftests/tc-testing/tc-tests/qdiscs/choke.json
Normal file
188
tools/testing/selftests/tc-testing/tc-tests/qdiscs/choke.json
Normal file
@ -0,0 +1,188 @@
|
||||
[
|
||||
{
|
||||
"id": "8937",
|
||||
"name": "Create CHOKE with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"choke"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 83p max 250p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "48c0",
|
||||
"name": "Create CHOKE with min packet setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"choke"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000 min 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 100p max 250p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "38c1",
|
||||
"name": "Create CHOKE with max packet setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"choke"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000 max 900",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min.*max 900p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "234a",
|
||||
"name": "Create CHOKE with ecn setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"choke"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000 ecn",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 83p max 250p ecn",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "4380",
|
||||
"name": "Create CHOKE with burst setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"choke"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000 burst 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 83p max 250p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "48c7",
|
||||
"name": "Delete CHOKE with valid handle",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"choke"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 83p max 250p",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "4398",
|
||||
"name": "Replace CHOKE with min setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"choke"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000 min 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 100p max 250p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "0301",
|
||||
"name": "Change CHOKE with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"choke"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root choke limit 1000 bandwidth 10000 min 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc choke 1: root refcnt [0-9]+ limit 1000p min 100p max 250p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
211
tools/testing/selftests/tc-testing/tc-tests/qdiscs/codel.json
Normal file
211
tools/testing/selftests/tc-testing/tc-tests/qdiscs/codel.json
Normal file
@ -0,0 +1,211 @@
|
||||
[
|
||||
{
|
||||
"id": "983a",
|
||||
"name": "Create CODEL with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 100ms",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "38aa",
|
||||
"name": "Create CODEL with limit packet setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel limit 1500",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1500p target 5ms interval 100ms",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "9178",
|
||||
"name": "Create CODEL with target setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel target 100ms",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 100ms interval 100ms",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "78d1",
|
||||
"name": "Create CODEL with interval setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel interval 20ms",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 20ms",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "238a",
|
||||
"name": "Create CODEL with ecn setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel ecn",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 100ms ecn",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "939c",
|
||||
"name": "Create CODEL with ce_threshold setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel ce_threshold 20ms",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms ce_threshold 20ms interval 100ms",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "8380",
|
||||
"name": "Delete CODEL with valid handle",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root codel"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 100ms",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "289c",
|
||||
"name": "Replace CODEL with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root codel"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root codel limit 5000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 5000p target 5ms interval 100ms",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "0648",
|
||||
"name": "Change CODEL with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"codel"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root codel"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root codel limit 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 100p target 5ms interval 100ms",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
117
tools/testing/selftests/tc-testing/tc-tests/qdiscs/etf.json
Normal file
117
tools/testing/selftests/tc-testing/tc-tests/qdiscs/etf.json
Normal file
@ -0,0 +1,117 @@
|
||||
[
|
||||
{
|
||||
"id": "34ba",
|
||||
"name": "Create ETF with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"etf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root etf clockid CLOCK_TAI",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc etf 1: root refcnt [0-9]+ clockid TAI delta 0 offload off deadline_mode off skip_sock_check off",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "438f",
|
||||
"name": "Create ETF with delta nanos setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"etf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root etf delta 100 clockid CLOCK_TAI",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc etf 1: root refcnt [0-9]+ clockid TAI delta 100 offload off deadline_mode off skip_sock_check off",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "9041",
|
||||
"name": "Create ETF with deadline_mode setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"etf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root etf clockid CLOCK_TAI deadline_mode",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc etf 1: root refcnt [0-9]+ clockid TAI delta 0 offload off deadline_mode on skip_sock_check off",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "9a0c",
|
||||
"name": "Create ETF with skip_sock_check setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"etf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root etf clockid CLOCK_TAI skip_sock_check",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc etf 1: root refcnt [0-9]+ clockid TAI delta 0 offload off deadline_mode off skip_sock_check on",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "2093",
|
||||
"name": "Delete ETF with valid handle",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"etf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root etf clockid CLOCK_TAI"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc etf 1: root refcnt [0-9]+ clockid TAI delta 0 offload off deadline_mode off skip_sock_check off",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
395
tools/testing/selftests/tc-testing/tc-tests/qdiscs/fq.json
Normal file
395
tools/testing/selftests/tc-testing/tc-tests/qdiscs/fq.json
Normal file
@ -0,0 +1,395 @@
|
||||
[
|
||||
{
|
||||
"id": "983b",
|
||||
"name": "Create FQ with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "38a1",
|
||||
"name": "Create FQ with limit packet setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq limit 3000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 3000p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "0a18",
|
||||
"name": "Create FQ with flow_limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq flow_limit 300",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 300p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "2390",
|
||||
"name": "Create FQ with quantum setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq quantum 9000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p buckets.*orphan_mask 1023 quantum 9000b",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "845b",
|
||||
"name": "Create FQ with initial_quantum setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq initial_quantum 900000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p buckets.*initial_quantum 900000b",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "9398",
|
||||
"name": "Create FQ with maxrate setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq maxrate 100000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p buckets.*maxrate 100Kbit",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "342c",
|
||||
"name": "Create FQ with nopacing setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq nopacing",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*nopacing",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "6391",
|
||||
"name": "Create FQ with refill_delay setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq refill_delay 100ms",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*refill_delay 100ms",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "238b",
|
||||
"name": "Create FQ with low_rate_threshold setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq low_rate_threshold 10000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*low_rate_threshold 10Kbit",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "7582",
|
||||
"name": "Create FQ with orphan_mask setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq orphan_mask 255",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*orphan_mask 255",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "4894",
|
||||
"name": "Create FQ with timer_slack setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq timer_slack 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*timer_slack 100ns",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "324c",
|
||||
"name": "Create FQ with ce_threshold setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq ce_threshold 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "424a",
|
||||
"name": "Create FQ with horizon time setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq horizon 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*horizon 100us",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "89e1",
|
||||
"name": "Create FQ with horizon_cap setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq horizon_cap",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*horizon_cap",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "32e1",
|
||||
"name": "Delete FQ with valid handle",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root fq"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "49b0",
|
||||
"name": "Replace FQ with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root fq"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root fq limit 5000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 5000p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "9478",
|
||||
"name": "Change FQ with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"fq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root fq"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root fq limit 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 100p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
164
tools/testing/selftests/tc-testing/tc-tests/qdiscs/gred.json
Normal file
164
tools/testing/selftests/tc-testing/tc-tests/qdiscs/gred.json
Normal file
@ -0,0 +1,164 @@
|
||||
[
|
||||
{
|
||||
"id": "8942",
|
||||
"name": "Create GRED with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"gred"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc gred 1: root refcnt [0-9]+ vqs 10 default 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "5783",
|
||||
"name": "Create GRED with grio setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"gred"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 1 grio",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc gred 1: root refcnt [0-9]+ vqs 10 default 1.*grio",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "8a09",
|
||||
"name": "Create GRED with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"gred"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 1 limit 1000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc gred 1: root refcnt [0-9]+ vqs 10 default 1 limit 1000b",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "48ca",
|
||||
"name": "Create GRED with ecn setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"gred"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 2 ecn",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc gred 1: root refcnt [0-9]+ vqs 10 default 2.*ecn",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "48cb",
|
||||
"name": "Create GRED with harddrop setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"gred"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 2 harddrop",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc gred 1: root refcnt [0-9]+ vqs 10 default 2.*harddrop",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "763a",
|
||||
"name": "Change GRED setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"gred"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 1"
|
||||
],
|
||||
"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",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc gred 1: root refcnt [0-9]+ vqs 10 default 1 limit.*vq 1 prio [0-9]+ limit 60Kb min 15Kb max 25Kb",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "8309",
|
||||
"name": "Show GRED class",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"gred"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root gred setup vqs 10 default 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC class show dev $DUMMY",
|
||||
"matchPattern": "class gred 1:",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
210
tools/testing/selftests/tc-testing/tc-tests/qdiscs/hhf.json
Normal file
210
tools/testing/selftests/tc-testing/tc-tests/qdiscs/hhf.json
Normal file
@ -0,0 +1,210 @@
|
||||
[
|
||||
{
|
||||
"id": "4812",
|
||||
"name": "Create HHF with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"hhf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc hhf 1: root refcnt [0-9]+.*hh_limit 2048 reset_timeout 40ms admit_bytes 128Kb evict_timeout 1s non_hh_weight 2",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "8a92",
|
||||
"name": "Create HHF with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"hhf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf limit 1500",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"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",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "3491",
|
||||
"name": "Create HHF with quantum setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"hhf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf quantum 9000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"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",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ba04",
|
||||
"name": "Create HHF with reset_timeout setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"hhf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf reset_timeout 100ms",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc hhf 1: root refcnt [0-9]+.*hh_limit 2048 reset_timeout 100ms admit_bytes 128Kb evict_timeout 1s non_hh_weight 2",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "4238",
|
||||
"name": "Create HHF with admit_bytes setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"hhf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf admit_bytes 100000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc hhf 1: root refcnt [0-9]+.*hh_limit 2048 reset_timeout 40ms admit_bytes 100000b evict_timeout 1s non_hh_weight 2",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "839f",
|
||||
"name": "Create HHF with evict_timeout setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"hhf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf evict_timeout 0.5s",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc hhf 1: root refcnt [0-9]+.*hh_limit 2048 reset_timeout 40ms admit_bytes 128Kb evict_timeout 500ms non_hh_weight 2",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "a044",
|
||||
"name": "Create HHF with non_hh_weight setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"hhf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf non_hh_weight 10",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc hhf 1: root refcnt [0-9]+.*hh_limit 2048 reset_timeout 40ms admit_bytes 128Kb evict_timeout 1s non_hh_weight 10",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "32f9",
|
||||
"name": "Change HHF with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"hhf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root hhf"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root hhf limit 1500",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"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",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "385e",
|
||||
"name": "Show HHF class",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"hhf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root hhf",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC class show dev $DUMMY",
|
||||
"matchPattern": "class hhf 1:",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
@ -0,0 +1,119 @@
|
||||
[
|
||||
{
|
||||
"id": "900c",
|
||||
"name": "Create pfifo_fast with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"pfifo_fast"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo_fast",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc pfifo_fast 1: root refcnt [0-9]+ bands 3 priomap",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "7470",
|
||||
"name": "Dump pfifo_fast stats",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"pfifo_fast"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo_fast",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC -s qdisc show dev $DUMMY",
|
||||
"matchPattern": "Sent.*bytes.*pkt \\(dropped.*overlimits.*requeues .*\\)",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "b974",
|
||||
"name": "Replace pfifo_fast with different handle",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"pfifo_fast"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root pfifo_fast"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 2: root pfifo_fast",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc pfifo_fast 2: root refcnt [0-9]+ bands 3 priomap",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 2: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "3240",
|
||||
"name": "Delete pfifo_fast with valid handle",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"pfifo_fast"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root pfifo_fast"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc pfifo_fast 1: root refcnt [0-9]+ bands 3 priomap",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "4385",
|
||||
"name": "Delete pfifo_fast with invalid handle",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"pfifo_fast"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root pfifo_fast"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 2: root",
|
||||
"expExitCode": "2",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc pfifo_fast 1: root refcnt [0-9]+ bands 3 priomap",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
188
tools/testing/selftests/tc-testing/tc-tests/qdiscs/plug.json
Normal file
188
tools/testing/selftests/tc-testing/tc-tests/qdiscs/plug.json
Normal file
@ -0,0 +1,188 @@
|
||||
[
|
||||
{
|
||||
"id": "3289",
|
||||
"name": "Create PLUG with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"plug"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root plug",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc plug 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "0917",
|
||||
"name": "Create PLUG with block setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"plug"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root plug block",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc plug 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "483b",
|
||||
"name": "Create PLUG with release setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"plug"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root plug release",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc plug 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "4995",
|
||||
"name": "Create PLUG with release_indefinite setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"plug"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root plug release_indefinite",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc plug 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "389c",
|
||||
"name": "Create PLUG with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"plug"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root plug limit 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc plug 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "384a",
|
||||
"name": "Delete PLUG with valid handle",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"plug"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root plug"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc plug 1: root refcnt",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "439a",
|
||||
"name": "Replace PLUG with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"plug"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root plug"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root plug limit 1000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc plug 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "9831",
|
||||
"name": "Change PLUG with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"plug"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root plug"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root plug limit 1000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc plug 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
279
tools/testing/selftests/tc-testing/tc-tests/qdiscs/sfb.json
Normal file
279
tools/testing/selftests/tc-testing/tc-tests/qdiscs/sfb.json
Normal file
@ -0,0 +1,279 @@
|
||||
[
|
||||
{
|
||||
"id": "3294",
|
||||
"name": "Create SFB with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfb"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfb 1: root refcnt [0-9]+ rehash 600s db 60s",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "430a",
|
||||
"name": "Create SFB with rehash setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfb"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb rehash 60",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfb 1: root refcnt [0-9]+ rehash 60ms db 60s",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "3410",
|
||||
"name": "Create SFB with db setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfb"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb db 10",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfb 1: root refcnt [0-9]+ rehash 600s db 10ms",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "49a0",
|
||||
"name": "Create SFB with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfb"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb limit 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfb 1: root refcnt [0-9]+ rehash 600s db 60s limit 100p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "1241",
|
||||
"name": "Create SFB with max setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfb"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb max 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfb 1: root refcnt 2 rehash 600s db 60s.*max 100p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "3249",
|
||||
"name": "Create SFB with target setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfb"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb target 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfb 1: root refcnt 2 rehash 600s db 60s.*target 100p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "30a9",
|
||||
"name": "Create SFB with increment setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfb"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb increment 0.1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfb 1: root refcnt 2 rehash 600s db 60s.*increment 0.1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "239a",
|
||||
"name": "Create SFB with decrement setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfb"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb decrement 0.1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfb 1: root refcnt 2 rehash 600s db 60s.*decrement 0.1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "9301",
|
||||
"name": "Create SFB with penalty_rate setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfb"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb penalty_rate 4000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfb 1: root refcnt 2 rehash 600s db 60s.*penalty_rate 4000pps",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "2a01",
|
||||
"name": "Create SFB with penalty_burst setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfb"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb penalty_burst 64",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfb 1: root refcnt 2 rehash 600s db 60s.*penalty_burst 64p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "3209",
|
||||
"name": "Change SFB with rehash setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfb"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root sfb penalty_burst 64"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root sfb rehash 100",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfb 1: root refcnt 2 rehash 100ms db 60s",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "5447",
|
||||
"name": "Show SFB class",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfb"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfb",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC class show dev $DUMMY",
|
||||
"matchPattern": "class sfb 1:",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
232
tools/testing/selftests/tc-testing/tc-tests/qdiscs/sfq.json
Normal file
232
tools/testing/selftests/tc-testing/tc-tests/qdiscs/sfq.json
Normal file
@ -0,0 +1,232 @@
|
||||
[
|
||||
{
|
||||
"id": "7482",
|
||||
"name": "Create SFQ with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum.*depth 127 divisor 1024",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "c186",
|
||||
"name": "Create SFQ with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq limit 8",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 8p",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ae23",
|
||||
"name": "Create SFQ with perturb setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq perturb 10",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "depth 127 divisor 1024 perturb 10sec",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "a430",
|
||||
"name": "Create SFQ with quantum setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq quantum 9000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 9000b depth 127 divisor 1024",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "4539",
|
||||
"name": "Create SFQ with divisor setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq divisor 512",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 1514b depth 127 divisor 512",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "b089",
|
||||
"name": "Create SFQ with flows setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq flows 20",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfq 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "99a0",
|
||||
"name": "Create SFQ with depth setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq depth 64",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 1514b depth 64 divisor 1024",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "7389",
|
||||
"name": "Create SFQ with headdrop setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq headdrop",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 1514b depth 127 headdrop divisor 1024",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "6472",
|
||||
"name": "Create SFQ with redflowlimit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq redflowlimit 100000 min 8000 max 60000 probability 0.20 ecn headdrop",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"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",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "8929",
|
||||
"name": "Show SFQ class",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"sfq"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC class show dev $DUMMY",
|
||||
"matchPattern": "class sfq 1:",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
@ -0,0 +1,95 @@
|
||||
[
|
||||
{
|
||||
"id": "283e",
|
||||
"name": "Create skbprio with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"skbprio"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root skbprio",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc skbprio 1: root refcnt [0-9]+ limit 64",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "c086",
|
||||
"name": "Create skbprio with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"skbprio"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root skbprio limit 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc skbprio 1: root refcnt [0-9]+ limit 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "6733",
|
||||
"name": "Change skbprio with limit setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"skbprio"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root skbprio"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root skbprio limit 32",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc skbprio 1: root refcnt [0-9]+ limit 32",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "2958",
|
||||
"name": "Show skbprio class",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"skbprio"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root skbprio",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC class show dev $DUMMY",
|
||||
"matchPattern": "class skbprio 1:",
|
||||
"matchCount": "64",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
135
tools/testing/selftests/tc-testing/tc-tests/qdiscs/taprio.json
Normal file
135
tools/testing/selftests/tc-testing/tc-tests/qdiscs/taprio.json
Normal file
@ -0,0 +1,135 @@
|
||||
[
|
||||
{
|
||||
"id": "ba39",
|
||||
"name": "Add taprio Qdisc to multi-queue device (8 queues)",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"taprio"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
|
||||
],
|
||||
"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",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $ETH",
|
||||
"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",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"echo \"1\" > /sys/bus/netdevsim/del_device"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "9462",
|
||||
"name": "Add taprio Qdisc with multiple sched-entry",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"taprio"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
|
||||
],
|
||||
"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",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $ETH",
|
||||
"matchPattern": "index [0-9]+ cmd S gatemask 0x[0-9]+ interval [0-9]+00000",
|
||||
"matchCount": "3",
|
||||
"teardown": [
|
||||
"echo \"1\" > /sys/bus/netdevsim/del_device"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "8d92",
|
||||
"name": "Add taprio Qdisc with txtime-delay",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"taprio"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
|
||||
],
|
||||
"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",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $ETH",
|
||||
"matchPattern": "clockid TAI flags 0x1 txtime delay 500000",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"echo \"1\" > /sys/bus/netdevsim/del_device"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "d092",
|
||||
"name": "Delete taprio Qdisc with valid handle",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"taprio"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"echo \"1 1 8\" > /sys/bus/netdevsim/new_device",
|
||||
"$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"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc del dev $ETH root handle 1:",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $ETH",
|
||||
"matchPattern": "qdisc taprio 1: root refcnt",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"echo \"1\" > /sys/bus/netdevsim/del_device"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "8471",
|
||||
"name": "Show taprio class",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"taprio"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
|
||||
],
|
||||
"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",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC class show dev $ETH",
|
||||
"matchPattern": "class taprio 1:[0-9]+ root leaf 1:",
|
||||
"matchCount": "8",
|
||||
"teardown": [
|
||||
"echo \"1\" > /sys/bus/netdevsim/del_device"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "0a85",
|
||||
"name": "Add taprio Qdisc to single-queue device",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"taprio"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"echo \"1 1\" > /sys/bus/netdevsim/new_device"
|
||||
],
|
||||
"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",
|
||||
"expExitCode": "2",
|
||||
"verifyCmd": "$TC qdisc show dev $ETH",
|
||||
"matchPattern": "qdisc taprio 1: root refcnt",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"echo \"1\" > /sys/bus/netdevsim/del_device"
|
||||
]
|
||||
}
|
||||
]
|
211
tools/testing/selftests/tc-testing/tc-tests/qdiscs/tbf.json
Normal file
211
tools/testing/selftests/tc-testing/tc-tests/qdiscs/tbf.json
Normal file
@ -0,0 +1,211 @@
|
||||
[
|
||||
{
|
||||
"id": "6430",
|
||||
"name": "Create TBF with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"tbf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 10000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 10Kbit burst 1500b limit 1000b",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "0518",
|
||||
"name": "Create TBF with mtu setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"tbf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 20000 mtu 2048",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1500b limit 1000b",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "320a",
|
||||
"name": "Create TBF with peakrate setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"tbf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 20000 mtu 1510 peakrate 30000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1500b peakrate 30Kbit minburst.*limit 1000b",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "239b",
|
||||
"name": "Create TBF with latency setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"tbf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf burst 1500 rate 20000 latency 100ms",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1500b lat 100ms",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "c975",
|
||||
"name": "Create TBF with overhead setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"tbf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 20000 overhead 300",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1800b limit 1000b overhead 300",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "948c",
|
||||
"name": "Create TBF with linklayer setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"tbf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 20000 linklayer atm",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1696b limit 1000b linklayer atm",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "3549",
|
||||
"name": "Replace TBF with mtu",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"tbf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 20000 linklayer atm"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 20000 linklayer ethernet",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1500b limit 1000b",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "f948",
|
||||
"name": "Change TBF with latency time",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"tbf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root tbf burst 1500 rate 20000 latency 10ms"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root tbf burst 1500 rate 20000 latency 200ms",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc tbf 1: root refcnt [0-9]+ rate 20Kbit burst 1500b lat 200ms",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "2348",
|
||||
"name": "Show TBF class",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"tbf"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root tbf limit 1000 burst 1500 rate 10000",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC class show dev $DUMMY",
|
||||
"matchPattern": "class tbf.*parent 1:",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
97
tools/testing/selftests/tc-testing/tc-tests/qdiscs/teql.json
Normal file
97
tools/testing/selftests/tc-testing/tc-tests/qdiscs/teql.json
Normal file
@ -0,0 +1,97 @@
|
||||
[
|
||||
{
|
||||
"id": "84a0",
|
||||
"name": "Create TEQL with default setting",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"teql"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root teql0",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc teql0 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "7734",
|
||||
"name": "Create TEQL with multiple device",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"teql"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"echo \"1 1 4\" > /sys/bus/netdevsim/new_device",
|
||||
"$TC qdisc add dev $ETH root handle 1: teql0"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root teql0",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc teql0 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"echo \"1\" > /sys/bus/netdevsim/del_device",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "34a9",
|
||||
"name": "Delete TEQL with valid handle",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"teql"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true",
|
||||
"$TC qdisc add dev $DUMMY handle 1: root teql0"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc teql0 1: root refcnt",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "6289",
|
||||
"name": "Show TEQL stats",
|
||||
"category": [
|
||||
"qdisc",
|
||||
"teql"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": "nsPlugin"
|
||||
},
|
||||
"setup": [
|
||||
"$IP link add dev $DUMMY type dummy || /bin/true"
|
||||
],
|
||||
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root teql0",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC -s qdisc show dev $DUMMY",
|
||||
"matchPattern": "qdisc teql0 1: root refcnt",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DUMMY handle 1: root",
|
||||
"$IP link del dev $DUMMY type dummy"
|
||||
]
|
||||
}
|
||||
]
|
Loading…
x
Reference in New Issue
Block a user