Just for fun, running RouterOS v7.20 CHR on Broadcom Stingray PS225-H16 Dual 25GbE DPU

Last time I tried this with version 7.16, the performance wasn’t good — PPPoE only reached around 1–2 Gbps, and LAN speed was low.

The NIC itself can route 25 Gbps without any problem, and other guest OSes (like Rocky 9 or OpenWRT) can achieve 21–22 Gbps+ with iperf, but RouterOS was much slower.

Today I saw someone asking whether RouterOS CHR can run on an ARM board

, and it reminded me of this whole thing, so I'm here to share the results I got.

This time, I took some time to try version 7.20 and old verison, did a simple comparison again.

notes: Since the ARM CPU only has eight cores, the two RouterOS VMs definitely contend for CPU resources, which also affects performance a bit.

However, the screenshot was taken under this same VM environment — everything else remained identical, only the version was upgraded. and to my surprise, it achieved about 3× – 4× the performance. That might actually mean something.

Before upgrade:
7.16

After upgrade:
7.20

The device is a Broadcom Stingray PS225-H16 Dual 25 GbE DPU (8-core 3.0 GHz ARM64, 16 GB DDR4 RAM).

Serial Boot log:
NIC-BOOT-1

it has bios like firmware config.
NIC-BOOT-2

PVE 8 (installed from a year ago)
PVE-1

lscpu:
PVE-2

RouterOS CHR Guest VM Config:
PVE-3

I currently don’t have extra 25 GbE sfp modules, so I can’t directly test routing performance yet. I’ll test Layer 3 forwarding later with single CHR vm when they arrive.

I followed the tutorial here:

https://foxi.buduanwang.vip/virtualization/pve/2707.html

https://www.bilibili.com/video/BV17T411p7D5/

compiled the kernel from here GitHub - Broadcom/arm64-linux

**I also have CCR2004 PCIe, but it’s different from this device.
The BCM NIC can use the standard bnxt driver on the host, with full eth hardware offload acceleration features (and sr-iov support, if I remember correct, some bcm vf did not work in ros at that time, not sure if it changed now) — not emulated — and it also works in Windows.

It’s a bit of a pity that BCM abandoned their SmartNIC product line, but I feel that NICs like NVIDIA BlueField should also be able to run RouterOS CHR, which could be an interesting use case.

I also tried directly extracting the ARM64 image into a partition, but of course, it couldn’t boot.
screenshots incase imgur didnt work for some country or region.zip (3.8 MB)

Hi
as I asked before
have you tried to install mikrotik directly on the board?
https://download.mikrotik.com/routeros/7.20.1/mikrotik-7.20.1-arm64.iso

https://download.mikrotik.com/routeros/7.20.1/chr-7.20.1-arm64.img.zip

this board boot sequency is a bit different, it need a specfic partation layout, and storage UEFI firmware in emmc, the kernel dtb and linux rootfs are also store seperate, I've tried my best, but it can't boot.
even it boot, it don't have the specfic driver / kernel compile for this nic.
So using CHR VM is the 0 painness, best option now.

I just notice 7.21beta introduce RPS support for arm64, I will try that later.