X86 for 1Gb with cake

I would like to get an x86 OpenWrt instance going, that will support 1Gb with cake when I eventually upgrade.

What's the minimum I need in terms of specs?

If we optimised the hot path, properly configured the hardware/software interrupts so on and so forth just about any x86 would pull off gigabit speeds.

Have a look at cpubenchmark.net. As a rule of thumb anything in the ballpark of 2000+ points should be able to bitbang at gigabit.

How about an Atom n2600? Would it support 100 Mbps and SQM?

Well kernel 5.4 helps a lot in that matter. My guess is that a cpu with half that point or less should now be able to cake 1gbit on a recent snapshot.

Yes.
If the system struggles try adjusting interrupts per queue per interface and offloading some stuff to the nic.

I am running an OpenWRT x86 19.07.4 Guest on ESXi.
Hardware is a Pentium G4560 with 2400 MHz dual channel ram and dual Intel nics. 250 Mbit bandwidth layer_cake shaped consumes ~22% total cpu. Software flow offloading is enabled.

So Gigabit could be doable using that hardware when you don't have the virtualization overhead. Just to give you some ballpark numbers.

I would also be interested in any recommendations for a small x86 box that can:

  • route/NAT 1Gbps symmetric with traffic shaping
  • supports AES-NI to speed up SSL VPN
  • just a WAN and LAN port, ideally Intel
  • small and easy to mount on a wall
  • ideally has a fan as it will be mounted in a spot that can get pretty hot in the summer; a bit of noise is not an issue.
  • no other features needed, e.g. USB, HDMI, ... it will just act as a router

The H2+ is worth a look, 2.5 gig nics(realtek though), some threads to be found.

1 Like

The H2+ does look interesting, but it can get expensive quickly once you start adding everything you need. Does anyone sell a cheap kit with everything included? I don't think you need more than 1GB RAM and 8GB SSD to run it as a router.

Not sure, I am not in the US, but use ameridroid for things hardkernel in NA. If I was to use the device as a router I would stuff it with a single 4GB RAM (minimum that can be used), and an eMMC skipping the NVMe. If this is seen to fruition the device becomes even more interesting.

Zotac makes (a lot of!) boxes... not all of them have all the required features, like more than one eth ports, etc. But popular ones are the now extinct CI327, which I have and currently run, and the CI329 which has a faster processor.

Features: small box, fanless, 2 ethernet ports, external SD card slot (also internal SSD) AES-NI capable CPU (4 core N4???), 5-10W power consumption. Maybe it wont need a fan, and you could add one nearby if needed, they have lots of ventilation holes.

I have done real live experiments with a PC engines apu2e4 with the firmware patch to allow for 1.4ghz (quad) cores using ver 19.07.4 using cake, unfortunately it was only able to handle between 600-700mbps both in lab with iperf3 and on a gigabit cable internet connection. I was able to reach line rate with a tuned fq_codel / simple script setup though.

I am currently looking into ways to make this device more efficient.

how many cores use sqm ? / fq_codel ? if You look at passmark singlecore performance You will know is not so fast cpu sadly

all cores (4) with all NIC ques for one "wan" port (NAT was on) and one "lan" port in use.

what about sirq with maxed out speed ? You have i210 nic's ? how much they have queues ? 4+4 ?

I'm searching such a device too: which network chip is inside Zotac mini PCs? I cannot find the specs on the website.

Intel Celeron N4100 (quad-core 1.1GHz, up to 2.4GHz)

Doesn't the RPI 4 allow 1Gb and cake?

1 Like

Just about any x86 from J1900 era or later is going to let you do Cake at 1Gbps, and yes the RPi4 will do it too: RPi4 routing performance numbers

1 Like

I don't know where i read that the J1900 can only do like 600-700 with cake. Good to know that it can handle it.