Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
A clear explanation of modern Linux router architecture — how DSA, bridges, QoS, Wi-Fi and hardware offload actually fit together.
Linux networking is often described using clean, simple concepts:
That model is technically correct.
And completely misleading once you work with real hardware.
Modern Linux routers are not built from clean layers. They are built from interacting subsystems — and the performance depends on how well those subsystems align.
This article explains that system without the usual myths.
The most important distinction is this:
Linux decides what should happen.
The hardware decides how fast it happens.
If those two don’t align, performance collapses.
With DSA, Linux moved to a cleaner abstraction:
[NIC] ⇄ [CPU port] ⇄ [Switch]
The bridge now describes topology.
The switch executes forwarding.
This looks simple.
But it introduces a critical detail:
The CPU port becomes the bottleneck.
All traffic that cannot be switched in hardware passes through the CPU:
If this path is inefficient:
This is why NIC design suddenly matters in a DSA world.
A common assumption is that more queues solve performance problems.
They don’t.
If all traffic is mixed together, you still get:
head-of-line blocking.
The solution is structural:
This mirrors how hardware switches operate.
QoS in Linux spans multiple systems:
If these are not aligned, QoS becomes unpredictable.
The only model that works consistently is:
map everything into the same 4 traffic classes.
Once aligned:
Ethernet switching is deterministic.
Wi-Fi is not.
It introduces:
This is why Wi-Fi historically forced traffic through the CPU.
Newer technologies like WED reduce this cost — but do not eliminate the difference.
Flow offload exists to reduce CPU load.
It works by bypassing parts of the networking stack.
This improves throughput.
But it also means:
software QoS is bypassed.
What remains is hardware QoS.
This reinforces a key idea:
classification must survive offload.
Software queue management (CAKE, fq_codel) is powerful.
But it relies on:
At high speeds — or on weak CPUs — this becomes too expensive.
Datacenters solve this differently:
Less flexible.
But scalable.
All of this leads to a simple rule:
Don’t fight the hardware. Align with it.
That means:
Modern Linux router architecture is not about adding features.
It is about removing friction between layers.
The system works best when:
Once that alignment is achieved, performance is no longer a mystery.
It becomes predictable.
And that is what good router design is really about.