Skip to content

Comments

feat(linkem): migrate from drr to htb#200

Merged
Karrq merged 2 commits intomainfrom
lore/feat/htb
Feb 24, 2026
Merged

feat(linkem): migrate from drr to htb#200
Karrq merged 2 commits intomainfrom
lore/feat/htb

Conversation

@thedevbirb
Copy link
Contributor

Problem

DRR (Deficit Round Robin) has a fundamental head-of-line blocking interaction with netem that causes high-delay destinations to block low-delay destinations.
DRR's dequeue() peeks at the first active class. Netem (a non-work-conserving qdisc) returns NULL when the configured delay hasn't elapsed yet. DRR sees NULL and immediately returns without trying other classes. This is a kernel-level issue with no userspace workaround.

Proposed change

Replaced DRR with HTB as the root classful qdisc. HTB's dequeue() correctly handles non-work-conserving children: when a child returns NULL, it advances to the next class instead of giving up.

@Karrq Karrq merged commit 9016991 into main Feb 24, 2026
14 checks passed
@Karrq Karrq deleted the lore/feat/htb branch February 24, 2026 10:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants