Queued up this past week within the Linux kernel’s networking subsystem for the upcoming Linux 6.14 cycle is transmission handling for jumbo data packets as well as RACK-TLP support for managing packet loss and re-transmission. This is work toward supporting larger network transmission windows and higher data throughput.
David Howells of Red Hat has been working to implement jumbo data transmission and RACK-TLP support within the Linux network stack. He summed up this Linux networking feature work rather well in the patch series cover letter:
“Here’s a series of patches to implement two main features:
(1) The transmission of jumbo data packets whereby several DATA packets of a particular size can be glued together into a single UDP packet, allowing us to larger MTU sizes. The basic jumbo subpacket capacity is 1412 bytes (RXRPC_JUMBO_DATALEN) and, say, an MTU of 8192 allows five of them to be transmitted as one.
An alternative (and possibly more efficient way) would be to expand/shrink the capacity of each DATA packet to match the MTU and thus save on header and tail-gap overhead, but the Rx protocol does not provide a mechanism for splitting the data – especially as the transported data is encrypted per-packet – and so UDP fragmentation would be the only way to handle this.
In fact, in the future, AF_RXRPC also needs to look at shrinking the packet size where the MTU is smaller – for instance in the case of being carried by IPv6 over wifi where there isn’t capacity for a 1412 byte capacity.
(2) RACK-TLP to manage packet loss and retransmission in conjunction with the congestion control algorithm.
These allow for better data throughput and work towards being able to have larger transmission windows.”
The RACK-TLP loss detection algorithm for TCP is further detailed as well within RFC8985:
“RACK-TLP uses per-segment transmit timestamps and selective acknowledgments (SACKs) and has two parts. Recent Acknowledgment (RACK) starts fast recovery quickly using time-based inferences derived from acknowledgment (ACK) feedback, and Tail Loss Probe (TLP) leverages RACK and sends a probe packet to trigger ACK feedback to avoid retransmission timeout (RTO) events. Compared to the widely used duplicate acknowledgment (DupAck) threshold approach, RACK-TLP detects losses more efficiently when there are application-limited flights of data, lost retransmissions, or data packet reordering events. It is intended to be an alternative to the DupAck threshold approach.”
These patches working on the jumbo data packet transmission and RACK-TLP have been merged to net-next.git making it material for the networking code in the next kernel merge window: Linux 6.14 that is opening up in late January.