mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-07 22:23:00 +00:00

When limit == 0, pfifo_tail_enqueue() must drop new packet and increase dropped packets count of the qdisc. All test results: 1..16 ok 1 a519 - Add bfifo qdisc with system default parameters on egress ok 2 585c - Add pfifo qdisc with system default parameters on egress ok 3 a86e - Add bfifo qdisc with system default parameters on egress with handle of maximum value ok 4 9ac8 - Add bfifo qdisc on egress with queue size of 3000 bytes ok 5 f4e6 - Add pfifo qdisc on egress with queue size of 3000 packets ok 6 b1b1 - Add bfifo qdisc with system default parameters on egress with invalid handle exceeding maximum value ok 7 8d5e - Add bfifo qdisc on egress with unsupported argument ok 8 7787 - Add pfifo qdisc on egress with unsupported argument ok 9 c4b6 - Replace bfifo qdisc on egress with new queue size ok 10 3df6 - Replace pfifo qdisc on egress with new queue size ok 11 7a67 - Add bfifo qdisc on egress with queue size in invalid format ok 12 1298 - Add duplicate bfifo qdisc on egress ok 13 45a0 - Delete nonexistent bfifo qdisc ok 14 972b - Add prio qdisc on egress with invalid format for handles ok 15 4d39 - Delete bfifo qdisc twice ok 16 d774 - Check pfifo_head_drop qdisc enqueue behaviour when limit == 0 Signed-off-by: Quang Le <quanglex97@gmail.com> Signed-off-by: Cong Wang <cong.wang@bytedance.com> Link: https://patch.msgid.link/20250204005841.223511-3-xiyou.wangcong@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
342 lines
9.7 KiB
JSON
342 lines
9.7 KiB
JSON
[
|
|
{
|
|
"id": "a519",
|
|
"name": "Add bfifo qdisc with system default parameters on egress",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root.*limit [0-9]+b",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root bfifo"
|
|
]
|
|
},
|
|
{
|
|
"id": "585c",
|
|
"name": "Add pfifo qdisc with system default parameters on egress",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc pfifo 1: root.*limit [0-9]+p",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root pfifo"
|
|
]
|
|
},
|
|
{
|
|
"id": "a86e",
|
|
"name": "Add bfifo qdisc with system default parameters on egress with handle of maximum value",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY root handle ffff: bfifo",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo ffff: root.*limit [0-9]+b",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle ffff: root bfifo"
|
|
]
|
|
},
|
|
{
|
|
"id": "9ac8",
|
|
"name": "Add bfifo qdisc on egress with queue size of 3000 bytes",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo limit 3000b",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root.*limit 3000b",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root bfifo"
|
|
]
|
|
},
|
|
{
|
|
"id": "f4e6",
|
|
"name": "Add pfifo qdisc on egress with queue size of 3000 packets",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
"$IP link set dev $DUMMY txqueuelen 3000"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo limit 3000",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc pfifo 1: root.*limit 3000p",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root pfifo"
|
|
]
|
|
},
|
|
{
|
|
"id": "b1b1",
|
|
"name": "Add bfifo qdisc with system default parameters on egress with invalid handle exceeding maximum value",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY root handle 10000: bfifo",
|
|
"expExitCode": "255",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 10000: root.*limit [0-9]+b",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
]
|
|
},
|
|
{
|
|
"id": "8d5e",
|
|
"name": "Add bfifo qdisc on egress with unsupported argument",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo foorbar",
|
|
"expExitCode": "1",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
]
|
|
},
|
|
{
|
|
"id": "7787",
|
|
"name": "Add pfifo qdisc on egress with unsupported argument",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo foorbar",
|
|
"expExitCode": "1",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc pfifo 1: root",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
]
|
|
},
|
|
{
|
|
"id": "c4b6",
|
|
"name": "Replace bfifo qdisc on egress with new queue size",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
"$IP link set dev $DUMMY txqueuelen 1000",
|
|
"$TC qdisc add dev $DUMMY handle 1: root bfifo"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root bfifo limit 3000b",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root.*limit 3000b",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root bfifo"
|
|
]
|
|
},
|
|
{
|
|
"id": "3df6",
|
|
"name": "Replace pfifo qdisc on egress with new queue size",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
"$IP link set dev $DUMMY txqueuelen 1000",
|
|
"$TC qdisc add dev $DUMMY handle 1: root pfifo"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root pfifo limit 30",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc pfifo 1: root.*limit 30p",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root pfifo"
|
|
]
|
|
},
|
|
{
|
|
"id": "7a67",
|
|
"name": "Add bfifo qdisc on egress with queue size in invalid format",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo limit foo-bar",
|
|
"expExitCode": "1",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root.*limit foo-bar",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
]
|
|
},
|
|
{
|
|
"id": "1298",
|
|
"name": "Add duplicate bfifo qdisc on egress",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
"$TC qdisc add dev $DUMMY handle 1: root bfifo"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo",
|
|
"expExitCode": "2",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root bfifo"
|
|
]
|
|
},
|
|
{
|
|
"id": "45a0",
|
|
"name": "Delete nonexistent bfifo qdisc",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
],
|
|
"cmdUnderTest": "$TC qdisc del dev $DUMMY root handle 1: bfifo",
|
|
"expExitCode": "2",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
]
|
|
},
|
|
{
|
|
"id": "972b",
|
|
"name": "Add prio qdisc on egress with invalid format for handles",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY root handle 123^ bfifo limit 100b",
|
|
"expExitCode": "255",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 123 root",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
]
|
|
},
|
|
{
|
|
"id": "4d39",
|
|
"name": "Delete bfifo qdisc twice",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
"$TC qdisc add dev $DUMMY root handle 1: bfifo",
|
|
"$TC qdisc del dev $DUMMY root handle 1: bfifo"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root bfifo",
|
|
"expExitCode": "2",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
]
|
|
},
|
|
{
|
|
"id": "d774",
|
|
"name": "Check pfifo_head_drop qdisc enqueue behaviour when limit == 0",
|
|
"category": [
|
|
"qdisc",
|
|
"pfifo_head_drop"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
"$IP addr add 10.10.10.10/24 dev $DUMMY || true",
|
|
"$TC qdisc add dev $DUMMY root handle 1: pfifo_head_drop limit 0",
|
|
"$IP link set dev $DUMMY up || true"
|
|
],
|
|
"cmdUnderTest": "ping -c2 -W0.01 -I $DUMMY 10.10.10.1",
|
|
"expExitCode": "1",
|
|
"verifyCmd": "$TC -s qdisc show dev $DUMMY",
|
|
"matchPattern": "dropped 2",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
]
|
|
}
|
|
]
|