Hello all,
I’m running CHR on Proxmox, with a 10G link and I’m seeing bad performance in terms of bandwidth for anything routing through the CHR.
iperf3 tests between a VM routing through the CHR will max out at 5G.
Similarly, iperf3 tests between VMs routing through the CHR but not going out the physical interface, rather between linux bridges, again out at 5G.
The moment I enable a fasttrack-connection rule these drop to ~3G, in both cases.
Bandwidth tests between the CHRs, both with same licenses and similar configs, also max out at ~4G
No CHR goes over 45% total on /tool/profile.
Replacing the CHR with a physical CCR2004 unit sees all problems go away.
iperf3 tests from the Proxmox machine itself are flawless.
Any ideas?
Extra info:
CHR license is a p10.
Proxmox (v7.4-17, kernel 5.15.149-1-pve)
Mobo: ASRockRack ROMED8-2T
CPU: AMD EPYC 7252 8-Core Processor
RAM: 8x 32GB DDR4-3200 Registered DIMM CL22 1Rx4 1.2V 16Gbit Hynix C w/Rambus
NIC: Mellanox Technologies MT27710
Drive: Kingston KC3000 PCIe 4.0 NVMe M.2 SSD
CHR VM has gone through multiple configurations while testing, increasing resources and changing NIC types.
Current version is :
bios: seabios
boot: order=scsi0
cores: 4
cpu: host
machine: q35
memory: 1024
name: CHR
net0: virtio=8A:94:E5:4B:E8:F7,bridge=vmbr0,queues=4
net1: virtio=8A:94:E5:4B:E8:F8,bridge=vmbr102,queues=4
net2: virtio=8A:94:E5:4B:E8:F9,bridge=vmbr103,queues=4
numa: 0
onboot: 1
ostype: l26
scsi0: local-zfs:vm-101-disk-0,size=512M
scsihw: virtio-scsi-pci
smbios1: uuid=92ffc649-a694-45e9-a721-67e7c248e144
sockets: 1
vga: virtio
vmgenid: f906f731-ae47-4881-b4c9-4ae290e8cc40
CHR config has been dumbed down for testing. Here’s what it’s currently like:
# 2025-07-09 18:09:37 by RouterOS 7.19.3
# system id = tvZPQLDiyLG
#
/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no
set [ find default-name=ether2 ] disable-running-check=no
set [ find default-name=ether3 ] disable-running-check=no
/ip pool
add name=kb-dmz ranges=10.220.3.100-10.220.3.200
/ip dhcp-server
add address-pool=kb-dmz interface=ether3 lease-time=2w1d name=KB-DMZ
/ip address
add address=10.220.2.254/24 comment=WAN interface=ether2 network=10.220.2.0
add address=10.220.0.253/24 interface=ether1 network=10.220.0.0
add address=10.220.3.254/24 interface=ether3 network=10.220.3.0
/ip dhcp-server network
add address=10.220.3.0/24 dns-server=10.220.3.254 gateway=10.220.3.254
/ip dns
set allow-remote-requests=yes servers=10.220.3.1,10.220.3.2,10.220.3.3
/ip firewall address-list
add address=10.220.3.0/24 list=MASQ
add address=10.220.2.0/24 comment=dev-dmz list=DMZ
add address=10.220.0.0/16 comment=dev list=INTERNAL
add address=10.220.0.0/16 disabled=yes list=NOMASQ
/ip firewall filter
add action=accept chain=input src-address-list=MANAGEMENT
add action=accept chain=input connection-state=established,related
add action=drop chain=input in-interface=ether2
add action=fasttrack-connection chain=forward connection-state=\
established,related disabled=yes hw-offload=no
add action=accept chain=forward connection-state=established,related
add action=accept chain=forward connection-nat-state=dstnat
add action=reject chain=forward dst-address-list=INTERNAL src-address-list=\
DMZ
/ip firewall nat
add action=masquerade chain=srcnat dst-address-list=!NOMASQ out-interface=ether2 \
src-address-list=MASQ
/ip route
add dst-address=0.0.0.0/0 gateway=10.220.2.100
/ip ssh
set forwarding-enabled=both
/system clock
set time-zone-name=Europe/Athens
/system identity
set name=TEST-CHR

