On Fri, Sep 16, 2022 at 12:04 AM Zhengchao Shao shaozhengchao@huawei.com wrote:
Test cb28: Create NETEM with default setting Test a089: Create NETEM with limit flag Test 3449: Create NETEM with delay time Test 3782: Create NETEM with distribution and corrupt flag Test a932: Create NETEM with distribution and duplicate flag Test e01a: Create NETEM with distribution and loss state flag Test ba29: Create NETEM with loss gemodel flag Test 0492: Create NETEM with reorder flag Test 7862: Create NETEM with rate limit Test 7235: Create NETEM with multiple slot rate Test 5439: Create NETEM with multiple slot setting Test 5029: Change NETEM with loss state Test 3785: Replace NETEM with delay time Test 4502: Delete NETEM with handle Test 0785: Show NETEM class
Signed-off-by: Zhengchao Shao shaozhengchao@huawei.com
.../tc-testing/tc-tests/qdiscs/netem.json | 372 ++++++++++++++++++ 1 file changed, 372 insertions(+) create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/netem.json
diff --git a/tools/testing/selftests/tc-testing/tc-tests/qdiscs/netem.json b/tools/testing/selftests/tc-testing/tc-tests/qdiscs/netem.json new file mode 100644 index 000000000000..c8ce7883bd9f --- /dev/null +++ b/tools/testing/selftests/tc-testing/tc-tests/qdiscs/netem.json @@ -0,0 +1,372 @@ +[
- {
"id": "cb28","name": "Create NETEM with default setting","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 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": "a089","name": "Create NETEM with limit flag","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem limit 200","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ limit 200","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "3449","name": "Create NETEM with delay time","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "3782","name": "Create NETEM with distribution and corrupt flag","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal corrupt 1%","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms 10ms corrupt 1%","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "a932","name": "Create NETEM with distribution and duplicate flag","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal duplicate 1%","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms 10ms duplicate 1%","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "a932",
Be careful, you are using ID a932 in the previous test case.
"name": "Create NETEM with distribution and loss flag","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution pareto loss 1%","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms 10ms loss 1%","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "e01a","name": "Create NETEM with distribution and loss state flag","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution paretonormal loss state 1","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms 10ms loss state p13 1% p31 99% p32 0% p23 100% p14 0%","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "ba29","name": "Create NETEM with loss gemodel flag","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem loss gemodel 1%","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*loss gemodel p 1%","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "0492","name": "Create NETEM with reorder flag","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms reorder 2% gap 100","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*reorder 2%","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "7862","name": "Create NETEM with rate limit","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem rate 20000","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*rate 20Kbit","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "7235","name": "Create NETEM with multiple slot rate","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem slot 10 200 packets 2000 bytes 9000","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*slot 10ns 200ns packets 2000 bytes 9000","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "5439","name": "Create NETEM with multiple slot setting","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem slot distribution pareto 1ms 0.1ms","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*slot distribution 1ms 100us","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "5029","name": "Change NETEM with loss state","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true","$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal loss 1%"],"cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal loss 2%","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*loss 2%","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "3785","name": "Replace NETEM with delay time","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true","$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal loss 1%"],"cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root netem delay 200ms 10ms","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 200ms 10ms","matchCount": "1","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- },
- {
"id": "4502","name": "Delete NETEM with handle","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true","$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal"],"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root","expExitCode": "0","verifyCmd": "$TC qdisc show dev $DUMMY","matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms 10ms","matchCount": "0","teardown": ["$IP link del dev $DUMMY type dummy"]- },
- {
"id": "0785","name": "Show NETEM class","category": ["qdisc","netem"],"plugins": {"requires": "nsPlugin"},"setup": ["$IP link add dev $DUMMY type dummy || /bin/true"],"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem","expExitCode": "0","verifyCmd": "$TC class show dev $DUMMY","matchPattern": "class netem 1:","matchCount": "0","teardown": ["$TC qdisc del dev $DUMMY handle 1: root","$IP link del dev $DUMMY type dummy"]- }
+]
2.17.1