ARM-based router

This hardware has problems - see the Problems section on the follow-up page.

I have an arm system with two gige ports that I want to turn into a router that can forward at least 300Mbit/s (with 1500 byte packets). It's a dual-core i.MX6 1ghz processor with 2GB DDR3-1066 ram. The first step to this goal is to see how well the system performs with just receiving and sending UDP traffic, without forwarding.

The gige interfaces are two different models, one using the "igb" driver and one using the "fec" driver. Below are iperf UDP tests with varying packet sizes. For the rx tests, iperf was run at varying rates until a rate with less than 1% packet loss was found. The tx tests were limited only by how fast iperf could send.

Mbit/s performance

The fec hardware is limited to around 450Mbit/s due to its architecture. The fec interface was at worst 82% as fast.

pps performance

The igb interface maxed out around 65kpps, and the fec interface maxed out around 56kpps. The 500 byte rx/igb run is an odd result, losing 10kpps compared to the tx/igb run.

The next step is to test forwarding rates. From my previous tests, I expect them to be around 50% lower.