Commit 0d5c27ec authored by Cong Wang's avatar Cong Wang Committed by Paolo Abeni
Browse files

selftests/tc-testing: Add a test case for FQ_CODEL with DRR parent



Add a test case for FQ_CODEL with DRR parent to verify packet drop
behavior when the queue becomes empty. This helps ensure proper
notification mechanisms between qdiscs.

Note this is best-effort, it is hard to play with those parameters
perfectly to always trigger ->qlen_notify().

Cc: Pedro Tammela <pctammela@mojatatu.com>
Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
Reviewed-by: default avatarVictor Nogueira <victor@mojatatu.com>
Link: https://patch.msgid.link/20250403211636.166257-5-xiyou.wangcong@gmail.com


Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 72b05c1b
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -251,5 +251,36 @@
            "$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"
        ]
    }
]