Just a quick update on networking experiences with this fanless (but hot) unit…
Why Is It Not In Sync? (buy buy buy)…
For some odd reason, throughput on stock Ubuntu 24.04 LTS via a 10GbE SFP+ module was showing asymmetrical speeds on iperf3 – ~10Gbps in, but only ~6Gbps out. Checking the firewall, ensuring jumbo packets (9000 byte MTU), ensuring ufw was disabled, disabling all forms of NIC offloading (although this may actually be inverse to the intended) did not change anything. Furthermore, htop showed one core constantly maxing out when sending (but hovering 60% to 75% on receiving).
Changing the Driver…
If you are not going fast enough, it is usually the driver (bada-dum-tss)… Anyway, I ended up attempting recompiling the latest Intel drivers for the dual X553 controllers following the instructions found here (with actual instructions and steps repeated as follows just in case source site “goes away”):
- after downloading the
.tar.gzarchive – version6.1.6being the latest as of writing this – obviously replace with the correct version number downloaded -
uncompress to
/usr/src– note that this destination is fixed because subsequent commands will reference this:sudo tar -zxvf ixgbe-6.1.6.tar.gz -C /usr/src - create a
/usr/src/ixgbe-6.1.6/dkms.conffile with the following contents
MAKE="BUILD_KERNEL=${kernelver} make -C src/ KERNELDIR=/lib/modules/${kernelver}/build"
CLEAN="make -C src/ clean"
PACKAGE_NAME="ixgbe-dkms"
PACKAGE_VERSION="6.1.6"
BUILT_MODULE_NAME="ixgbe"
BUILT_MODULE_LOCATION=src/
DEST_MODULE_LOCATION="/kernel/drivers/net/ethernet/intel/ixgbe/"
AUTOINSTALL="yes"
- run the following to build and install the driver
sudo dkms add ixgbe/6.1.6sudo dkms build ixgbe/6.1.6sudo dkms install ixgbe/6.1.6
And Then…
A miracle happened – I could now hit ~10Gbps either way, with about 70-80% single-core utilisation…
And Then…
I hit another wall… This time, attempting to use the interface in a bridge brought the interface down to ~5Gbps either direction. Since the purpose of the bridge was an easy way for me to link VMs, I tried the harder way – assigning the entire PCI device (i.e. one network interface) to the VM.
Unfortunately, this still saw limits of ~7Gbps either direction, once again with 100% single-core utilisation.
So What?
It stands to reason – the CPU is simply not fast enough to handle 10Gbps traffic – as per cited around the Internet, the CPU/processor single-core speed directly affects a software router’s network performance… Which is just too bad – I was really rooting for this little unit…
