| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140 |
- [
- {
- "id": "ca5e",
- "name": "Check class delete notification for ffff:",
- "category": [
- "qdisc"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: drr",
- "$TC filter add dev $DUMMY parent 1: basic classid 1:1",
- "$TC class add dev $DUMMY parent 1: classid 1:1 drr",
- "$TC qdisc add dev $DUMMY parent 1:1 handle ffff: drr",
- "$TC filter add dev $DUMMY parent ffff: basic classid ffff:1",
- "$TC class add dev $DUMMY parent ffff: classid ffff:1 drr",
- "$TC qdisc add dev $DUMMY parent ffff:1 netem delay 1s",
- "ping -c1 -W0.01 -I $DUMMY 10.10.10.1 || true",
- "$TC class del dev $DUMMY classid ffff:1",
- "$TC class add dev $DUMMY parent ffff: classid ffff:1 drr"
- ],
- "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.10.1",
- "expExitCode": "1",
- "verifyCmd": "$TC -s qdisc ls dev $DUMMY",
- "matchPattern": "drr 1: root",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY root handle 1: drr",
- "$IP addr del 10.10.10.10/24 dev $DUMMY"
- ]
- },
- {
- "id": "e4b7",
- "name": "Check class delete notification for root ffff:",
- "category": [
- "qdisc"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle ffff: drr",
- "$TC filter add dev $DUMMY parent ffff: basic classid ffff:1",
- "$TC class add dev $DUMMY parent ffff: classid ffff:1 drr",
- "$TC qdisc add dev $DUMMY parent ffff:1 netem delay 1s",
- "ping -c1 -W0.01 -I $DUMMY 10.10.10.1 || true",
- "$TC class del dev $DUMMY classid ffff:1",
- "$TC class add dev $DUMMY parent ffff: classid ffff:1 drr"
- ],
- "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.10.1",
- "expExitCode": "1",
- "verifyCmd": "$TC qdisc ls dev $DUMMY",
- "matchPattern": "drr ffff: root",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY root handle ffff: drr",
- "$IP addr del 10.10.10.10/24 dev $DUMMY"
- ]
- },
- {
- "id": "33a9",
- "name": "Check ingress is not searchable on backlog update",
- "category": [
- "qdisc"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY ingress",
- "$TC qdisc add dev $DUMMY root handle 1: drr",
- "$TC filter add dev $DUMMY parent 1: basic classid 1:1",
- "$TC class add dev $DUMMY parent 1: classid 1:1 drr",
- "$TC qdisc add dev $DUMMY parent 1:1 handle 2: drr",
- "$TC filter add dev $DUMMY parent 2: basic classid 2:1",
- "$TC class add dev $DUMMY parent 2: classid 2:1 drr",
- "$TC qdisc add dev $DUMMY parent 2:1 netem delay 1s",
- "ping -c1 -W0.01 -I $DUMMY 10.10.10.1 || true"
- ],
- "cmdUnderTest": "$TC class del dev $DUMMY classid 2:1",
- "expExitCode": "0",
- "verifyCmd": "$TC qdisc ls dev $DUMMY",
- "matchPattern": "drr 1: root",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY root handle 1: drr",
- "$TC qdisc del dev $DUMMY ingress",
- "$IP addr del 10.10.10.10/24 dev $DUMMY"
- ]
- },
- {
- "id": "a4b9",
- "name": "Test class qlen notification",
- "category": [
- "qdisc"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: drr",
- "$TC filter add dev $DUMMY parent 1: basic classid 1:1",
- "$TC class add dev $DUMMY parent 1: classid 1:1 drr",
- "$TC qdisc add dev $DUMMY parent 1:1 handle 2: netem",
- "$TC qdisc add dev $DUMMY parent 2: handle 3: drr",
- "$TC filter add dev $DUMMY parent 3: basic action drop",
- "$TC class add dev $DUMMY parent 3: classid 3:1 drr",
- "$TC class del dev $DUMMY classid 1:1",
- "$TC class add dev $DUMMY parent 1: classid 1:1 drr"
- ],
- "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.10.1",
- "expExitCode": "1",
- "verifyCmd": "$TC qdisc ls dev $DUMMY",
- "matchPattern": "drr 1: root",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY root handle 1: drr",
- "$IP addr del 10.10.10.10/24 dev $DUMMY"
- ]
- },
- {
- "id": "5456",
- "name": "Test htb_dequeue_tree with deactivation and row emptying",
- "category": [
- "qdisc",
- "htb"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.11.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: htb default 1",
- "$TC class add dev $DUMMY parent 1: classid 1:1 htb rate 64bit ",
- "$TC qdisc add dev $DUMMY parent 1:1 handle 2: netem",
- "$TC qdisc add dev $DUMMY parent 2:1 handle 3: blackhole"
- ],
- "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.11.11",
- "expExitCode": "1",
- "verifyCmd": "$TC -j qdisc show dev $DUMMY",
- "matchJSON": [],
- "teardown": [
- "$TC qdisc del dev $DUMMY root"
- ]
- },
- {
- "id": "c024",
- "name": "Test TBF with SKBPRIO - catch qlen corner cases",
- "category": [
- "qdisc",
- "tbf",
- "skbprio"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1: root tbf rate 100bit burst 2000 limit 1000",
- "$TC qdisc add dev $DUMMY parent 1: handle 10: skbprio limit 1",
- "ping -c 1 -W 0.1 -Q 0x00 -s 1400 -I $DUMMY 10.10.10.1 > /dev/null || true",
- "ping -c 1 -W 0.1 -Q 0x1c -s 1400 -I $DUMMY 10.10.10.1 > /dev/null || true",
- "ping -c 1 -W 0.1 -Q 0x00 -s 1400 -I $DUMMY 10.10.10.1 > /dev/null || true",
- "ping -c 1 -W 0.1 -Q 0x1c -s 1400 -I $DUMMY 10.10.10.1 > /dev/null || true",
- "sleep 0.5"
- ],
- "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc skbprio'",
- "matchPattern": "dropped [1-9][0-9]*",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "34c0",
- "name": "Test TBF with HHF Backlog Accounting in gso_skb case against underflow",
- "category": [
- "qdisc",
- "tbf",
- "hhf"
- ],
- "plugins": {
- "requires": [
- "nsPlugin"
- ]
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.11.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: tbf rate 8bit burst 100b latency 100ms",
- "$TC qdisc replace dev $DUMMY handle 2: parent 1:1 hhf limit 1000",
- [
- "ping -I $DUMMY -c2 10.10.11.11",
- 1
- ],
- "$TC qdisc change dev $DUMMY handle 2: parent 1:1 hhf limit 1"
- ],
- "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 2: parent 1:1",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY",
- "matchPattern": "backlog 0b 0p",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root"
- ]
- },
- {
- "id": "fd68",
- "name": "Test TBF with CODEL Backlog Accounting in gso_skb case against underflow",
- "category": [
- "qdisc",
- "tbf",
- "codel"
- ],
- "plugins": {
- "requires": [
- "nsPlugin"
- ]
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.11.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: tbf rate 8bit burst 100b latency 100ms",
- "$TC qdisc replace dev $DUMMY handle 2: parent 1:1 codel limit 1000",
- [
- "ping -I $DUMMY -c2 10.10.11.11",
- 1
- ],
- "$TC qdisc change dev $DUMMY handle 2: parent 1:1 codel limit 1"
- ],
- "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 2: parent 1:1",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY",
- "matchPattern": "backlog 0b 0p",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root"
- ]
- },
- {
- "id": "514e",
- "name": "Test TBF with PIE Backlog Accounting in gso_skb case against underflow",
- "category": [
- "qdisc",
- "tbf",
- "pie"
- ],
- "plugins": {
- "requires": [
- "nsPlugin"
- ]
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.11.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: tbf rate 8bit burst 100b latency 100ms",
- "$TC qdisc replace dev $DUMMY handle 2: parent 1:1 pie limit 1000",
- [
- "ping -I $DUMMY -c2 10.10.11.11",
- 1
- ],
- "$TC qdisc change dev $DUMMY handle 2: parent 1:1 pie limit 1"
- ],
- "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 2: parent 1:1",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY",
- "matchPattern": "backlog 0b 0p",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root"
- ]
- },
- {
- "id": "6c97",
- "name": "Test TBF with FQ Backlog Accounting in gso_skb case against underflow",
- "category": [
- "qdisc",
- "tbf",
- "fq"
- ],
- "plugins": {
- "requires": [
- "nsPlugin"
- ]
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.11.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: tbf rate 8bit burst 100b latency 100ms",
- "$TC qdisc replace dev $DUMMY handle 2: parent 1:1 fq limit 1000",
- [
- "ping -I $DUMMY -c2 10.10.11.11",
- 1
- ],
- "$TC qdisc change dev $DUMMY handle 2: parent 1:1 fq limit 1"
- ],
- "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 2: parent 1:1",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY",
- "matchPattern": "backlog 0b 0p",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root"
- ]
- },
- {
- "id": "5d0b",
- "name": "Test TBF with FQ_CODEL Backlog Accounting in gso_skb case against underflow",
- "category": [
- "qdisc",
- "tbf",
- "fq_codel"
- ],
- "plugins": {
- "requires": [
- "nsPlugin"
- ]
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.11.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: tbf rate 8bit burst 100b latency 100ms",
- "$TC qdisc replace dev $DUMMY handle 2: parent 1:1 fq_codel limit 1000",
- [
- "ping -I $DUMMY -c2 10.10.11.11",
- 1
- ],
- "$TC qdisc change dev $DUMMY handle 2: parent 1:1 fq_codel limit 1"
- ],
- "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 2: parent 1:1",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY",
- "matchPattern": "backlog 0b 0p",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root"
- ]
- },
- {
- "id": "21c3",
- "name": "Test TBF with FQ_PIE Backlog Accounting in gso_skb case against underflow",
- "category": [
- "qdisc",
- "tbf",
- "fq_pie"
- ],
- "plugins": {
- "requires": [
- "nsPlugin"
- ]
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.11.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: tbf rate 8bit burst 100b latency 100ms",
- "$TC qdisc replace dev $DUMMY handle 2: parent 1:1 fq_pie limit 1000",
- [
- "ping -I $DUMMY -c2 10.10.11.11",
- 1
- ],
- "$TC qdisc change dev $DUMMY handle 2: parent 1:1 fq_pie limit 1"
- ],
- "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 2: parent 1:1",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY",
- "matchPattern": "backlog 0b 0p",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root"
- ]
- },
- {
- "id": "a4bb",
- "name": "Test FQ_CODEL with HTB parent - force packet drop with empty queue",
- "category": [
- "qdisc",
- "fq_codel",
- "htb"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1: root htb default 10",
- "$TC class add dev $DUMMY parent 1: classid 1:10 htb rate 1kbit",
- "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
- "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
- "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
- "sleep 0.1"
- ],
- "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
- "matchPattern": "dropped [1-9][0-9]*",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "a4be",
- "name": "Test FQ_CODEL with QFQ parent - force packet drop with empty queue",
- "category": [
- "qdisc",
- "fq_codel",
- "qfq"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1: root qfq",
- "$TC class add dev $DUMMY parent 1: classid 1:10 qfq weight 1 maxpkt 1000",
- "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
- "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
- "ping -c 10 -s 1000 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
- "sleep 0.1"
- ],
- "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
- "matchPattern": "dropped [1-9][0-9]*",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "a4bf",
- "name": "Test FQ_CODEL with HFSC parent - force packet drop with empty queue",
- "category": [
- "qdisc",
- "fq_codel",
- "hfsc"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1: root hfsc default 10",
- "$TC class add dev $DUMMY parent 1: classid 1:10 hfsc sc rate 1kbit ul rate 1kbit",
- "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
- "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
- "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
- "sleep 0.1"
- ],
- "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
- "matchPattern": "dropped [1-9][0-9]*",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "a4c0",
- "name": "Test FQ_CODEL with DRR parent - force packet drop with empty queue",
- "category": [
- "qdisc",
- "fq_codel",
- "drr"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1: root drr",
- "$TC class add dev $DUMMY parent 1: classid 1:10 drr quantum 1500",
- "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
- "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
- "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
- "sleep 0.1"
- ],
- "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
- "matchPattern": "dropped [1-9][0-9]*",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "a4c1",
- "name": "Test FQ_CODEL with ETS parent - force packet drop with empty queue",
- "category": [
- "qdisc",
- "fq_codel",
- "ets"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1: root ets bands 2 strict 1",
- "$TC class change dev $DUMMY parent 1: classid 1:1 ets",
- "$TC qdisc add dev $DUMMY parent 1:1 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
- "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:1",
- "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
- "sleep 0.1"
- ],
- "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
- "matchPattern": "dropped [1-9][0-9]*",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "a4c3",
- "name": "Test HFSC with netem/blackhole - queue emptying during peek operation",
- "category": [
- "qdisc",
- "hfsc",
- "netem",
- "blackhole"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1:0 root drr",
- "$TC class add dev $DUMMY parent 1:0 classid 1:1 drr",
- "$TC class add dev $DUMMY parent 1:0 classid 1:2 drr",
- "$TC qdisc add dev $DUMMY parent 1:1 handle 2:0 plug limit 1024",
- "$TC qdisc add dev $DUMMY parent 1:2 handle 3:0 hfsc default 1",
- "$TC class add dev $DUMMY parent 3:0 classid 3:1 hfsc rt m1 5Mbit d 10ms m2 10Mbit",
- "$TC qdisc add dev $DUMMY parent 3:1 handle 4:0 netem delay 1ms",
- "$TC qdisc add dev $DUMMY parent 4:1 handle 5:0 blackhole",
- "ping -c 3 -W 0.01 -i 0.001 -s 1 10.10.10.10 -I $DUMMY > /dev/null 2>&1 || true",
- "$TC class change dev $DUMMY parent 3:0 classid 3:1 hfsc sc m1 5Mbit d 10ms m2 10Mbit",
- "$TC class del dev $DUMMY parent 3:0 classid 3:1",
- "$TC class add dev $DUMMY parent 3:0 classid 3:1 hfsc rt m1 5Mbit d 10ms m2 10Mbit",
- "ping -c 3 -W 0.01 -i 0.001 -s 1 10.10.10.10 -I $DUMMY > /dev/null 2>&1 || true"
- ],
- "cmdUnderTest": "$TC class change dev $DUMMY parent 3:0 classid 3:1 hfsc sc m1 5Mbit d 10ms m2 10Mbit",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY",
- "matchPattern": "qdisc hfsc 3:.*parent 1:2.*default 1",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1:0 root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "90ec",
- "name": "Test DRR's enqueue reentrant behaviour with netem",
- "category": [
- "qdisc",
- "drr"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1:0 root drr",
- "$TC class replace dev $DUMMY parent 1:0 classid 1:1 drr",
- "$TC qdisc add dev $DUMMY parent 1:1 handle 2:0 netem duplicate 100%",
- "$TC filter add dev $DUMMY parent 1:0 protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:1"
- ],
- "cmdUnderTest": "ping -c 1 -I $DUMMY 10.10.10.1 > /dev/null || true",
- "expExitCode": "0",
- "verifyCmd": "$TC -j -s qdisc ls dev $DUMMY handle 1:0",
- "matchJSON": [
- {
- "kind": "drr",
- "handle": "1:",
- "bytes": 196,
- "packets": 2
- }
- ],
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1:0 root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "1f1f",
- "name": "Test ETS's enqueue reentrant behaviour with netem",
- "category": [
- "qdisc",
- "ets"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1:0 root ets bands 2",
- "$TC class replace dev $DUMMY parent 1:0 classid 1:1 ets quantum 1500",
- "$TC qdisc add dev $DUMMY parent 1:1 handle 2:0 netem duplicate 100%",
- "$TC filter add dev $DUMMY parent 1:0 protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:1"
- ],
- "cmdUnderTest": "ping -c 1 -I $DUMMY 10.10.10.1 > /dev/null || true",
- "expExitCode": "0",
- "verifyCmd": "$TC -j -s class show dev $DUMMY",
- "matchJSON": [
- {
- "class": "ets",
- "handle": "1:1",
- "stats": {
- "bytes": 196,
- "packets": 2
- }
- }
- ],
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1:0 root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "5e6d",
- "name": "Test QFQ's enqueue reentrant behaviour with netem",
- "category": [
- "qdisc",
- "qfq"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1:0 root qfq",
- "$TC class replace dev $DUMMY parent 1:0 classid 1:1 qfq weight 100 maxpkt 1500",
- "$TC qdisc add dev $DUMMY parent 1:1 handle 2:0 netem duplicate 100%",
- "$TC filter add dev $DUMMY parent 1:0 protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:1"
- ],
- "cmdUnderTest": "ping -c 1 -I $DUMMY 10.10.10.1 > /dev/null || true",
- "expExitCode": "0",
- "verifyCmd": "$TC -j -s qdisc ls dev $DUMMY handle 1:0",
- "matchJSON": [
- {
- "kind": "qfq",
- "handle": "1:",
- "bytes": 196,
- "packets": 2
- }
- ],
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1:0 root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "bf1d",
- "name": "Test HFSC's enqueue reentrant behaviour with netem",
- "category": [
- "qdisc",
- "hfsc"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1:0 root hfsc",
- "$TC class add dev $DUMMY parent 1:0 classid 1:1 hfsc ls m2 10Mbit",
- "$TC qdisc add dev $DUMMY parent 1:1 handle 2:0 netem duplicate 100%",
- "$TC filter add dev $DUMMY parent 1:0 protocol ip prio 1 u32 match ip dst 10.10.10.1/32 flowid 1:1",
- "$TC class add dev $DUMMY parent 1:0 classid 1:2 hfsc ls m2 10Mbit",
- "$TC filter add dev $DUMMY parent 1:0 protocol ip prio 2 u32 match ip dst 10.10.10.2/32 flowid 1:2",
- "ping -c 1 10.10.10.1 -I$DUMMY > /dev/null || true",
- "$TC filter del dev $DUMMY parent 1:0 protocol ip prio 1",
- "$TC class del dev $DUMMY classid 1:1"
- ],
- "cmdUnderTest": "ping -c 1 10.10.10.2 -I$DUMMY > /dev/null || true",
- "expExitCode": "0",
- "verifyCmd": "$TC -j -s qdisc ls dev $DUMMY handle 1:0",
- "matchJSON": [
- {
- "kind": "hfsc",
- "handle": "1:",
- "bytes": 294,
- "packets": 3
- }
- ],
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1:0 root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "7c3b",
- "name": "Test nested DRR's enqueue reentrant behaviour with netem",
- "category": [
- "qdisc",
- "drr"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1:0 root drr",
- "$TC class add dev $DUMMY parent 1:0 classid 1:1 drr",
- "$TC filter add dev $DUMMY parent 1:0 protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:1",
- "$TC qdisc add dev $DUMMY handle 2:0 parent 1:1 drr",
- "$TC class add dev $DUMMY classid 2:1 parent 2:0 drr",
- "$TC filter add dev $DUMMY parent 2:0 protocol ip prio 1 u32 match ip protocol 1 0xff flowid 2:1",
- "$TC qdisc add dev $DUMMY parent 2:1 handle 3:0 netem duplicate 100%"
- ],
- "cmdUnderTest": "ping -c 1 -I $DUMMY 10.10.10.1 > /dev/null || true",
- "expExitCode": "0",
- "verifyCmd": "$TC -j -s qdisc ls dev $DUMMY handle 1:0",
- "matchJSON": [
- {
- "kind": "drr",
- "handle": "1:",
- "bytes": 196,
- "packets": 2
- }
- ],
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1:0 root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "62c4",
- "name": "Test HTB with FQ_CODEL - basic functionality",
- "category": [
- "qdisc",
- "htb",
- "fq_codel"
- ],
- "plugins": {
- "requires": [
- "nsPlugin",
- "scapyPlugin"
- ]
- },
- "setup": [
- "$TC qdisc add dev $DEV1 root handle 1: htb default 11",
- "$TC class add dev $DEV1 parent 1: classid 1:1 htb rate 10kbit",
- "$TC class add dev $DEV1 parent 1:1 classid 1:11 htb rate 10kbit prio 0 quantum 1486",
- "$TC qdisc add dev $DEV1 parent 1:11 fq_codel quantum 300 noecn",
- "sleep 0.5"
- ],
- "scapy": {
- "iface": "$DEV0",
- "count": 5,
- "packet": "Ether()/IP(dst='10.10.10.1', src='10.10.10.10')/TCP(sport=12345, dport=80)"
- },
- "cmdUnderTest": "$TC -s qdisc show dev $DEV1",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DEV1 | grep -A 5 'qdisc fq_codel'",
- "matchPattern": "Sent [0-9]+ bytes [0-9]+ pkt",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DEV1 handle 1: root"
- ]
- },
- {
- "id": "831d",
- "name": "Test HFSC qlen accounting with DRR/NETEM/BLACKHOLE chain",
- "category": ["qdisc", "hfsc", "drr", "netem", "blackhole"],
- "plugins": { "requires": ["nsPlugin", "scapyPlugin"] },
- "setup": [
- "$IP link set dev $DEV1 up || true",
- "$TC qdisc add dev $DEV1 root handle 1: drr",
- "$TC filter add dev $DEV1 parent 1: basic classid 1:1",
- "$TC class add dev $DEV1 parent 1: classid 1:1 drr",
- "$TC qdisc add dev $DEV1 parent 1:1 handle 2: hfsc def 1",
- "$TC class add dev $DEV1 parent 2: classid 2:1 hfsc rt m1 8 d 1 m2 0",
- "$TC qdisc add dev $DEV1 parent 2:1 handle 3: netem",
- "$TC qdisc add dev $DEV1 parent 3:1 handle 4: blackhole"
- ],
- "scapy": {
- "iface": "$DEV0",
- "count": 5,
- "packet": "Ether()/IP(dst='10.10.10.1', src='10.10.10.10')/ICMP()"
- },
- "cmdUnderTest": "$TC -s qdisc show dev $DEV1",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DEV1",
- "matchPattern": "qdisc hfsc",
- "matchCount": "1",
- "teardown": ["$TC qdisc del dev $DEV1 root handle 1: drr"]
- },
- {
- "id": "309e",
- "name": "Test HFSC eltree double add with reentrant enqueue behaviour on netem",
- "category": [
- "qdisc",
- "hfsc"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.11.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: tbf rate 8bit burst 100b latency 1s",
- "$TC qdisc add dev $DUMMY parent 1:0 handle 2:0 hfsc",
- "ping -I $DUMMY -f -c10 -s48 -W0.001 10.10.11.1 || true",
- "$TC class add dev $DUMMY parent 2:0 classid 2:1 hfsc rt m2 20Kbit",
- "$TC qdisc add dev $DUMMY parent 2:1 handle 3:0 netem duplicate 100%",
- "$TC class add dev $DUMMY parent 2:0 classid 2:2 hfsc rt m2 20Kbit",
- "$TC filter add dev $DUMMY parent 2:0 protocol ip prio 1 u32 match ip dst 10.10.11.2/32 flowid 2:1",
- "$TC filter add dev $DUMMY parent 2:0 protocol ip prio 2 u32 match ip dst 10.10.11.3/32 flowid 2:2",
- "ping -c 1 10.10.11.2 -I$DUMMY > /dev/null || true",
- "$TC filter del dev $DUMMY parent 2:0 protocol ip prio 1",
- "$TC class del dev $DUMMY classid 2:1",
- "ping -c 1 10.10.11.3 -I$DUMMY > /dev/null || true"
- ],
- "cmdUnderTest": "$TC class change dev $DUMMY parent 2:0 classid 2:2 hfsc sc m2 20Kbit",
- "expExitCode": "0",
- "verifyCmd": "$TC -j class ls dev $DUMMY classid 2:1",
- "matchJSON": [],
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1:0 root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
- ]
- },
- {
- "id": "d74b",
- "name": "Test use-after-free with DRR/NETEM/BLACKHOLE chain",
- "category": [
- "qdisc",
- "hfsc",
- "drr",
- "netem",
- "blackhole"
- ],
- "plugins": {
- "requires": [
- "nsPlugin",
- "scapyPlugin"
- ]
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.11.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: drr",
- "$TC filter add dev $DUMMY parent 1: basic classid 1:1",
- "$TC class add dev $DUMMY parent 1: classid 1:1 drr",
- "$TC qdisc add dev $DUMMY parent 1:1 handle 2: hfsc def 1",
- "$TC class add dev $DUMMY parent 2: classid 2:1 hfsc rt m1 8 d 1 m2 0",
- "$TC qdisc add dev $DUMMY parent 2:1 handle 3: netem",
- "$TC qdisc add dev $DUMMY parent 3:1 handle 4: blackhole",
- "ping -c1 -W0.01 -I $DUMMY 10.10.11.11 || true",
- "$TC class del dev $DUMMY classid 1:1"
- ],
- "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.11.11",
- "expExitCode": "1",
- "verifyCmd": "$TC -j class ls dev $DUMMY classid 1:1",
- "matchJSON": [],
- "teardown": [
- "$TC qdisc del dev $DUMMY root handle 1: drr"
- ]
- },
- {
- "id": "be28",
- "name": "Try to add fq_codel qdisc as a child of an hhf qdisc",
- "category": [
- "qdisc",
- "fq_codel",
- "hhf"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$TC qdisc add dev $DUMMY root handle a: hhf"
- ],
- "cmdUnderTest": "$TC qdisc add dev $DUMMY parent a: handle b: fq_codel",
- "expExitCode": "2",
- "verifyCmd": "$TC -j qdisc ls dev $DUMMY handle b:",
- "matchJSON": [],
- "teardown": [
- "$TC qdisc del dev $DUMMY root"
- ]
- },
- {
- "id": "fcb5",
- "name": "Try to add pie qdisc as a child of a drr qdisc",
- "category": [
- "qdisc",
- "pie",
- "drr"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$TC qdisc add dev $DUMMY root handle a: drr"
- ],
- "cmdUnderTest": "$TC qdisc add dev $DUMMY parent a: handle b: pie",
- "expExitCode": "2",
- "verifyCmd": "$TC -j qdisc ls dev $DUMMY handle b:",
- "matchJSON": [],
- "teardown": [
- "$TC qdisc del dev $DUMMY root"
- ]
- },
- {
- "id": "7801",
- "name": "Try to add fq qdisc as a child of an inexistent hfsc class",
- "category": [
- "qdisc",
- "sfq",
- "hfsc"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$TC qdisc add dev $DUMMY root handle a: hfsc"
- ],
- "cmdUnderTest": "$TC qdisc add dev $DUMMY parent a:fff2 sfq limit 4",
- "expExitCode": "2",
- "verifyCmd": "$TC -j qdisc ls dev $DUMMY handle b:",
- "matchJSON": [],
- "teardown": [
- "$TC qdisc del dev $DUMMY root"
- ]
- },
- {
- "id": "4989",
- "name": "Try to add an fq child to an ingress qdisc",
- "category": [
- "qdisc",
- "ingress"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$TC qdisc add dev $DUMMY handle ffff:0 ingress"
- ],
- "cmdUnderTest": "$TC qdisc add dev $DUMMY parent ffff:0 handle ffe0:0 fq",
- "expExitCode": "2",
- "verifyCmd": "$TC -j qdisc ls dev $DUMMY handle ffe0:",
- "matchJSON": [],
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY ingress"
- ]
- },
- {
- "id": "c2b0",
- "name": "Try to add an fq child to a clsact qdisc",
- "category": [
- "qdisc",
- "ingress"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$TC qdisc add dev $DUMMY handle ffff:0 clsact"
- ],
- "cmdUnderTest": "$TC qdisc add dev $DUMMY parent ffff:0 handle ffe0:0 fq",
- "expExitCode": "2",
- "verifyCmd": "$TC -j qdisc ls dev $DUMMY handle ffe0:",
- "matchJSON": [],
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY clsact"
- ]
- },
- {
- "id": "4366",
- "name": "CAKE with QFQ Parent - CAKE enqueue with packets dropping",
- "category": [
- "qdisc",
- "cake",
- "netem"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup":[
- "$TC qdisc add dev $DUMMY handle 1: root qfq",
- "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 1024",
- "$TC qdisc add dev $DUMMY parent 1:1 handle 2: cake memlimit 9",
- "$TC filter add dev $DUMMY protocol ip parent 1: prio 1 u32 match ip protocol 1 0xff flowid 1:1",
- "ping -I$DUMMY -f -c1 -s64 -W1 10.10.10.1 || true",
- "$TC qdisc replace dev $DUMMY parent 1:1 handle 3: netem delay 0ms"
- ],
- "cmdUnderTest": "ping -I$DUMMY -f -c1 -s64 -W1 10.10.10.1 || true",
- "expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY",
- "matchPattern": "qdisc qfq 1:",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root"
- ]
- },
- {
- "id": "6e4f",
- "name": "Try to delete ets drr class' qdisc while still keeping it in the active list",
- "category": [
- "qdisc",
- "ets",
- "tbf"
- ],
- "plugins": {
- "requires": [
- "nsPlugin",
- "scapyPlugin"
- ]
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.11.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: ets bands 2 strict 1",
- "$TC qdisc add dev $DUMMY parent 1:2 handle 20: tbf rate 8bit burst 100b latency 1s",
- "$TC filter add dev $DUMMY parent 1: basic classid 1:2",
- "ping -c2 -W0.01 -s 56 -I $DUMMY 10.10.11.11 || true",
- "$TC qdisc change dev $DUMMY root handle 1: ets bands 2 strict 2",
- "$TC qdisc change dev $DUMMY root handle 1: ets bands 1 strict 1"
- ],
- "cmdUnderTest": "ping -c1 -W0.01 -s 56 -I $DUMMY 10.10.11.11",
- "expExitCode": "1",
- "verifyCmd": "$TC -s -j qdisc ls dev $DUMMY root",
- "matchJSON": [
- {
- "kind": "ets",
- "handle": "1:",
- "bytes": 196,
- "packets": 2
- }
- ],
- "teardown": [
- "$TC qdisc del dev $DUMMY root handle 1:"
- ]
- },
- {
- "id": "0b8f",
- "name": "Try to add ets class to the active list twice",
- "category": [
- "qdisc",
- "ets",
- "tbf"
- ],
- "plugins": {
- "requires": [
- "nsPlugin",
- "scapyPlugin"
- ]
- },
- "setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.11.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY root handle 1: ets bands 2 strict 1",
- "$TC qdisc add dev $DUMMY parent 1:2 handle 20: tbf rate 8bit burst 100b latency 1s",
- "$TC filter add dev $DUMMY parent 1: basic classid 1:2",
- "ping -c2 -W0.01 -s 56 -I $DUMMY 10.10.11.11 || true",
- "$TC qdisc change dev $DUMMY root handle 1: ets bands 2 strict 2",
- "$TC qdisc change dev $DUMMY root handle 1: ets bands 2 strict 1"
- ],
- "cmdUnderTest": "ping -c1 -W0.01 -s 56 -I $DUMMY 10.10.11.11",
- "expExitCode": "1",
- "verifyCmd": "$TC -s -j qdisc ls dev $DUMMY root",
- "matchJSON": [
- {
- "kind": "ets",
- "handle": "1:",
- "bytes": 98,
- "packets": 1
- }
- ],
- "teardown": [
- "$TC qdisc del dev $DUMMY root handle 1:"
- ]
- },
- {
- "id": "a3d7",
- "name": "HFSC with large m1 - no divide-by-zero on class reactivation",
- "category": [
- "qdisc",
- "hfsc"
- ],
- "plugins": {
- "requires": "nsPlugin"
- },
- "setup": [
- "$TC qdisc replace dev $DUMMY root handle 1: hfsc default 1",
- "$TC class replace dev $DUMMY parent 1: classid 1:1 hfsc rt m1 32gbit d 1ms m2 0bit ls m1 32gbit d 1ms m2 0bit",
- "ping -I$DUMMY -f -c1 -s64 -W1 10.10.10.1 || true",
- "sleep 1"
- ],
- "cmdUnderTest": "ping -I$DUMMY -f -c1 -s64 -W1 10.10.10.1 || true",
- "expExitCode": "0",
- "verifyCmd": "$TC qdisc show dev $DUMMY",
- "matchPattern": "qdisc hfsc 1: root",
- "matchCount": "1",
- "teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root"
- ]
- }
- ]
|