Cisco Meraki MX60 has a reputation of being reliable, but slow. Indeed, what can we expect from a low-end product released all the way back in 2012? More to the point, the MX60 was designed to be a branch router, providing a small group of remote workers with VPN connectivity to the central office. So the designers probably thought that striving for a connection speed greater than what the processor can support in terrms of VPN traffic encryption/decryption wasn't a high priority. So the device is generally believed to be limited to about 200 Mbps throughput.

Cisco Meraki MX60

That, however, was when MX60 ran stock firmware. With OpenWrt, situation can be improved significantly. Out of the box, the MX60 still appears to produce about 200 Mbps, but this improves sharply (for non-VPN traffic anyway) if offloading is enabled.

What is offloading?

By default, all data moving through a router is processed by, well, the processor. On some devices, this processing can be delegated, or "offloaded", to some other system component, usually the network controller. The network controller, if present, is a specialized chip that can improve data processing speed greatly.

Enabling offloading in OpenWrt

To enable offloading in OpenWrt, log into LuCI (the router's Web-based management interface) and navigate to Network >> Firewall. On the General settings tab, there will be a section, Routing/NAT Offloading. Check the Software flow offloading checkbox. Another checkbox, Hardware flow offloading, will appear; check that, too. Then, click Save & Apply button on the bottom of the page.

Now what?

After we enabled offloading on our production MX60W unit, it immediately maxed out our 500 Mbps Internet connection (we measured connection speed using speedtest.net). Then we decided to break out our cold spare, set up a simulated gigabit WAN connection and see if this was all we could get. Turns out the answer is no; in a simulated LAN/WAN environment we set up using iperf3, we got about 740 Mbps. Data transfer across the LAN was even faster; on the production unit, we consistently got iperf3 results above 900 Mbps with a few additional devices, both wired and wireless, idling in the background. So, in terms of practical usage, we have achieved a full gigabit transfer rate.

Conclusion

Long story short, we love MX60 with OpenWrt, and so should you. Unless, of course, your use case involves transfer rates above 1 Gbps... :)

Important: as of this writing, offloading is considered an experimental feature in OpenWrt and may conflict with quality-of-service (QoS) features such as SQM. So if your use case involves QoS, offloading may present more problems than it solves.

Previous Post Next Post