10 Gbps Ethernet on a Raspberry Pi?

Jeff Geerling explores the capacity of the Raspberry Pi Compute Module 4's PCI Express lane.

Have you heard about the 10 Gbps Ethernet on a Raspberry Pi? Might sound crazy, but Jeff Geerling has worked on a 10-gigabit network card working with the Raspberry Pi Compute Module 4. Immediately, it is important to note that it is impossible to route 10 gigabits of total network throughput through any Raspberry Pi. If you are wondering, why would you need a 10 Gbps Ethernet, then the answer is for enterprise-grade high-speed network applications.

To make sure that none of the network cabling, gear or computers on the networks are bottlenecking the Raspberry Pi, it took a lot of effort and trials on various routers. But after some serious testing on MikroTik 10 gigabit router, hybrid 10G/2.5G QNAP Switch, HP desktop computer, and several other devices, Geerling was confident to try using Raspberry Pi on the network.

If you have been working on the Compute Module 4, you know that it comes with a single PCIe generation 2, which means the theoretical maximum is less than 4 gigabits. In the initial trials using the ASUS XG-C100C 10G NIC, the maker was able to achieve 3.26 Gigabits/sec but after some optimizations, the maximum went up to 3.6 Gbps. However, obtaining this overclocking of the Pi CM4 did not make much of a difference as the CPU was not the only limiting factor for processing network packets.

With some serious work on this project and some better optimizations through Jumbo Framesand the PCI Express, Geerling could achieve a whopping 3.59 Gbps between the Mac and Raspberry Pi CM4. "The Raspberry Pi's current built-in NIC gets you a pretty solid 943 Mbps over a 1GBase-T network. Some of these optimizations (most notably 9000 MTU / Jumbo Frames) will push that beyond 960 Mbps," he explains. But it will be interesting to wait for some newer generation Pi 5 with more PCI Express lanes at a faster rate for a 10-gigabit network.

The full video is up on Geerling's YouTube channel, while the setup instructions are available in his blog post.

Abhishek Jadhav
Abhishek Jadhav is an engineering student, freelance tech writer, RISC-V Ambassador, and leader of the Open Hardware Developer Community.
Related articles
Sponsored articles
Related articles