Re: [PATCH 00/12] netem: fixes, cleanup, and selftest
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2026-03-14 15:39:39
On Sat, 14 Mar 2026 07:09:02 -0700 Jakub Kicinski [off-list ref] wrote:
On Fri, 13 Mar 2026 14:15:00 -0700 Stephen Hemminger wrote:quoted
The netem packet scheduler is widely used for network emulation but has not gotten enough of my attention lately.There's a few tests in tdcs which need adjusting: # not ok 363 d34d - NETEM test qdisc duplication restriction in qdisc tree in netem_change root # Command exited with 0, expected 2 # # not ok 364 b33f - NETEM test qdisc duplication restriction in qdisc tree in netem_change non-root # Command exited with 0, expected 2 # # not ok 365 cafe - NETEM test qdisc duplication restriction in qdisc tree # Command exited with 0, expected 2 # # not ok 366 1337 - NETEM test qdisc duplication restriction in qdisc tree across branches # Command exited with 0, expected 2
That make sense.
If you run the new test on unpatched kernel expect three failures.
$ sudo ./netem.sh
PASS: basic netem delay
PASS: basic netem duplicate 50%
PASS: basic netem loss 30%
PASS: basic netem corrupt 10%
PASS: basic netem reorder 25% gap 5
PASS: netem with pfifo child qdisc
PASS: HTB root, two netem leaves (no dup)
# tc rejected multi-netem tree (check_netem_in_tree bug)
FAIL: HTB root, one netem with dup, one without
PASS: HFSC root, netem child (CVE-2025-37890 topology)
PASS: HFSC root, netem child with duplicate
PASS: HFSC root, two classes each with netem
PASS: netem with TBF child (non-work-conserving)
PASS: HTB -> netem -> TBF chain
PASS: netem with SFQ child qdisc
PASS: netem duplicate 100% (stress)
PASS: netem duplicate 100% with zero delay
PASS: netem all impairments simultaneously
PASS: rapid qdisc add/change/delete cycling
PASS: netem limit 1 with duplication
PASS: netem slot configuration
PASS: netem rate limiting
# tc rejected multi-netem dup tree (check_netem_in_tree bug)
FAIL: HTB root, two netem leaves both duplicating
# nested netem rejected by kernel (check_netem_in_tree bug)
FAIL: nested netem (netem inside netem child)
Summary: 20 pass, 3 fail, 0 skip