Fast UDP I/O for Firefox in Rust

Motivation Around 20% of Firefox’s HTTP traffic today uses HTTP/3, which runs over QUIC, which in turn runs over UDP. This translates to substantial UDP I/O activity. Firefox uses NSPR for most of its network I/O. When it comes to UDP I/O, NSPR only offers a limited set of dated APIs, most relevant here PR_SendTo and PR_RecvFrom, wrappers around POSIX’s sendto and recvfrom. The N in NSPR stands for Netscape, giving you a hint of its age. ...

September 14, 2025 · Max Inden

Talk "Fast UDP makes QUIC quicker - optimizing Firefox’s HTTP3 IO stack" @FOSDEM

I presented my recent work on Firefox’s HTTP3/QUIC stack in the Network Devroom at FOSDEM 2025. QUIC is a new transport protocol on top of UDP, transporting a large portion of the Internet traffic today. UDP I/O performance is crucial for QUIC implementations, where e.g. system call overhead can significantly impact throughput at high network speeds. To improve QUIC throughput, Firefox is switching to a modern UDP IO stack in Rust, using mechanisms like recvmmsg, and GRO across Linux, Windows, and Android. ...

February 2, 2025 · Max Inden