Hi everybody,
I’m actually using ipfire since a few years in my home-lab, and so far, I was quite happy with the stability, performance and experience.
Nevertheless, as technology evolves, so does infrastructure, and I finally got a fiber installed. While IPFire easily handled the old 1/0.5Gbit down/up WAN, it struggles now mirroring the new speeds (even approximately) when routing between network interfaces.
I did run several iperf3 tests:
- IpFire to a server on green:
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 27.4 GBytes 23.5 Gbits/sec receiver
- machine on green to ipfire:
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 27.3 GBytes 23.5 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 27.3 GBytes 23.5 Gbits/sec receiver
- IPFIRE to WAN:
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 17.0 GBytes 14.6 Gbits/sec 43175 sender
[ 5] 0.00-10.00 sec 17.0 GBytes 14.6 Gbits/sec receiver
So, everything runs smoothly when not routing between interfaces. Checking top on ipfire reveals, that at least three cores of the Ryzen5600G are used while above iperf3 is running.
Now, if I run the speedtest from a machine on GREEN to RED through ipfire (so, routing between interfaces) I get like 1/10 of WAN speed. AND: ipfirev host maxes out on one CPU core:
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 2.04 GBytes 1.75 Gbits/sec 36 sender
[ 5] 0.00-10.00 sec 2.04 GBytes 1.75 Gbits/sec receiver
Is it an IRQ issue? Hardware / Board not fitting the SFP28 network? All interfaces are Multi-Queue capable, and ethtool confirmes that.
[root@ipfire ~]# ethtool -l red0 / green0
Channel parameters for red0:
Pre-set maximums:
RX: 74
TX: 74
Other: n/a
Combined: 120
Current hardware settings:
RX: 0
TX: 0
Other: n/a
Combined: 3
Any hints how to investigate further / what to look for?
(And, is there a roadmap for ipv6? I now get a full range of ipv6 addresses with my fiber…)