The Linux 7.0 kernel is now out, and it’s one of the most impactful releases in years for networking professionals.
The Linux kernel is the core of a Linux operating system distribution. Linux is commonly used as a foundation for operating systems in the cloud and as a base for networking. While the 7.0 designation is a big number, Linux creator Linus Torvalds iterates to major version numbers on a somewhat less precise basis, often arbitrarily jumping to a new number after a prior series gets too high.
“We have a new major number purely because I’m easily confused and not good with big numbers,” Torvalds wrote.
That said, for networking professionals Linux 7.0 includes a host of enhancements that are noteworthy. Key improvements include:
- Accurate Explicit Congestion Notification (AccECN) now default
- UDP performance boost
- IPv6 enhancements
- CAKE MQ (Common Applications Kept Enhanced) network scheduler integration
Network signal congestion gets a fix with AccECN
AccECN support is now in Linux by default, which is intended to provide better TCP congestion handling.
When networks get congested, routers traditionally respond by dropping packets, forcing senders to detect the loss and slow down. Explicit Congestion Notification (ECN) improved on this in 2001 by allowing routers to signal congestion without dropping packets, reducing retransmissions and smoothing performance for high-bandwidth applications like video streaming.
The problem is that the existing ECN is too blunt. It’s a situation that AccECN looks to fix. “ECN was originally specified for TCP in such a way that only one feedback signal can be transmitted per Round-Trip Time,” the IETF draft specification for AccECN states.
For basic congestion control that was enough, but modern high-speed protocols need to know how much congestion is occurring, not just whether it happened. AccECN goes much further.
Classic ECN only tells the sender that congestion happened. AccECN tells it exactly how much. That distinction lets senders fine-tune their response instead of just slowing down at the first sign of trouble.
UDP benefits from a timing boost
TCP traffic isn’t the only networking traffic that is getting a boost.
The Linux 7.0 kernel includes a notable optimization to the network stack’s timekeeping mechanism, specifically addressing performance bottlenecks in high-speed UDP traffic.
The kernel now reduces the overhead associated with function calls on critical hot paths. This change is particularly significant because compilers often fail to automate this optimization across the boundary between the core kernel and network drivers compiled as modules.
The practical impact of this change was verified by Google engineers through stress tests on 100 Gbps network interfaces, where it delivered a 12.3% increase in UDP receive throughput.
This improvement stems from the increasing reliance on hardware timestamps for modern transport protocols, which can trigger this specific code path over 100 million times per second on busy servers. By eliminating the call overhead for every packet, the patch significantly lowers CPU cycles per packet, enabling higher line-rate processing for data-intensive applications.
More CAKE for Linux
CAKE (Common Applications Kept Enhanced) is a network scheduler built into the Linux kernel that manages how packets are queued and sent out across a network interface.
While CAKE has been effective for years, the problem is that CAKE was always tied to a single CPU core. As network interfaces have scaled up, one CPU core isn’t enough to keep up with enforcing shaping rules at line rate.
Linux 7.0 addresses this with cake_mq, a new multi-queue variant developed by Red Hat engineers. Rather than running a single CAKE instance, cake_mq installs a CAKE instance on each hardware queue of the interface, spreading the processing load across multiple CPU cores.
IPv6 improvements
Linux has long supported IPv6, though it’s an area that is still improving as operators increasingly identify issues.
One of the most impactful changes in the 7.0 networking stack is the optimization of the IPv6 TCP output path to cache flow information. This update targets high-performance environments by reducing the overhead of recalculating flow data for every outgoing packet.
The Linux 7.0 kernel also addresses a long-standing routing inconsistency between IPv4 and IPv6 with so-called next hop device mismatches. What that means is that the Linux kernel is now smarter at handling cases in IPv6 where the next hop in the network path is reached through a different virtual or physical path than expected. It stops the kernel from throwing an error and dropping a connection just because the next stop device doesn’t perfectly match the internal routing table’s rules.
The nexthop improvement is intended to help prevent dropped packets in complex software-defined networking (SDN) environments and container mesh networks.
While Linux 7.0 is now generally available, it will take some time until it is adopted and fully implemented by Linux distributions.