[ { "id": "900c", "name": "Create pfifo_fast with default setting", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [ ], "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" ] }, { "id": "7470", "name": "Dump pfifo_fast stats", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [ ], "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" ] }, { "id": "b974", "name": "Replace pfifo_fast with different handle", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$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" ] }, { "id": "3240", "name": "Delete pfifo_fast with valid handle", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$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": [ ] }, { "id": "4385", "name": "Delete pfifo_fast with invalid handle", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$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" ] }, { "id": "dbe3", "name": "Set tx_queue_len to S16_MAX boundary (32767 accepted)", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [], "cmdUnderTest": "$IP link set dev $DUMMY txqueuelen 32767", "expExitCode": "0", "verifyCmd": "$IP link show dev $DUMMY", "matchPattern": "qlen 32767$", "matchCount": "1", "teardown": [] }, { "id": "b50e", "name": "Reject tx_queue_len above S16_MAX at set time (32768)", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [], "cmdUnderTest": "$IP link set dev $DUMMY txqueuelen 32768", "expExitCode": "2", "verifyCmd": "$IP link show dev $DUMMY", "matchPattern": "qlen 1000$", "matchCount": "1", "teardown": [] }, { "id": "40f8", "name": "Reject tx_queue_len above S16_MAX via sysfs (32768)", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [], "cmdUnderTest": "sh -c 'echo 32768 > /sys/class/net/$DUMMY/tx_queue_len'", "expExitCode": "1", "verifyCmd": "$IP link show dev $DUMMY", "matchPattern": "qlen 1000$", "matchCount": "1", "teardown": [] }, { "id": "4b6e", "name": "Set tx_queue_len to S16_MAX via sysfs (32767 accepted)", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [], "cmdUnderTest": "sh -c 'echo 32767 > /sys/class/net/$DUMMY/tx_queue_len'", "expExitCode": "0", "verifyCmd": "$IP link show dev $DUMMY", "matchPattern": "qlen 32767$", "matchCount": "1", "teardown": [] }, { "id": "b90d", "name": "Create device with tx_queue_len at S16_MAX boundary (32767 accepted)", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [ [ "$IP link del dev $DUMMY", 0, 1 ] ], "cmdUnderTest": "$IP link add dev $DUMMY txqueuelen 32767 type dummy", "expExitCode": "0", "verifyCmd": "$IP link show dev $DUMMY", "matchPattern": "qlen 32767$", "matchCount": "1", "teardown": [ [ "$IP link del dev $DUMMY", 0, 1 ] ] }, { "id": "57ab", "name": "Reject creating device with tx_queue_len above S16_MAX (32768)", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [ [ "$IP link del dev $DUMMY", 0, 1 ] ], "cmdUnderTest": "$IP link add dev $DUMMY txqueuelen 32768 type dummy", "expExitCode": "2", "verifyCmd": "$IP -o link show", "matchPattern": "^[0-9]+: $DUMMY", "matchCount": "0", "teardown": [] }, { "id": "e777", "name": "Reject creating device with oversized tx_queue_len (500000)", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [ [ "$IP link del dev $DUMMY", 0, 1 ] ], "cmdUnderTest": "$IP link add dev $DUMMY txqueuelen 500000 type dummy", "expExitCode": "2", "verifyCmd": "$IP -o link show", "matchPattern": "^[0-9]+: $DUMMY", "matchCount": "0", "teardown": [] }, { "id": "31ac", "name": "Reject veth peer nest tx_queue_len above S16_MAX at create", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [ [ "$IP link del dev $DEV1", 0, 1 ] ], "cmdUnderTest": "$IP link add dev $DEV1 type veth peer name $DEV0 txqueuelen 500000", "expExitCode": "2", "verifyCmd": "$IP -o link show", "matchPattern": "^[0-9]+: $DEV1", "matchCount": "0", "teardown": [] }, { "id": "b567", "name": "Accept veth peer nest tx_queue_len within S16_MAX", "category": [ "qdisc", "pfifo_fast" ], "plugins": { "requires": "nsPlugin" }, "setup": [ [ "$IP link del dev $DEV1", 0, 1 ] ], "cmdUnderTest": "$IP link add dev $DEV1 txqueuelen 100 type veth peer name $DEV0 txqueuelen 200", "expExitCode": "0", "verifyCmd": "$IP link show", "matchPattern": "qlen (100|200)$", "matchCount": "2", "teardown": [ [ "$IP link del dev $DEV0", 0, 1 ] ] } ]