Towards 10Gb/s open-source routing
Olof Hagsand, Robert Olsson, Bengt Gördén · 2008
We present Linux performance results on selected PC hardware for IP packet forwarding in 10Gb/s speeds. In our experiments, we use Bifrost Linux on a multi-core NUMA PC architecture with multiple DMA channels, dual PCIe buses and 10GE network interface cards. Our experiments were divided into TX and forwarding experiments. The purpose of the TX experiments was to explore hardware capabilities, while the purpose of the forwarding experiments was to give realistic bandwidth and packet rate numbers. Our results show that 10Gb/s transmission rate is obtainable in wirespeed for down to 250 byte packets. Further, single-flow forwarding experiments using a single CPU core show a forwarding rate of around 900 Kp/s resulting in near wire-speed for larger packets. Traffic with more realistic packet distribution with packet filters and large FIBs enabled shows a forwarding bandwith around 4.5Gb/s. We also show how multiple queues on the receive side were evenly distributed over multiple CPU cores. We identify a remaining bottleneck in the linux kernel before the full potential for multi-queue and multi-core forwarding can be utilized. When this bottleneck is removed, it would in principle be possible to forward realistic traffic in 10Gb/s wirespeed and beyond. 2