Hi all,
I was asked about this by a customer, so I went and updated my build:
The mistake I made last time was not to ‘pin’ each package version, so the builder broke horribly after recent changes in VyOS-current.
I have now ‘pinned’ everything so if you clone this, it should produce the “same” image I just built.
I also wrote a “local” Jenkinsfile runner rather than doing each package by hand.
There was also a recent change to the image generation in vyos-build which meant we can’t build qcow2 images at the moment. I had to fight my way through a bunch of live-boot and GRUB issues as a result. But this also means the install and update process will work exactly the same as it does on x86.
Bonus: XDP works!
iperf3 Gbit/s throughput | iperf -P1 | iperf -P4 | iperf -P6 | iperf -P8 |
---|---|---|---|---|
OpenWrt | 1.66 | 6.28 | 9.11 | 7.42 |
VyOS normal | 1.93 | 5.37 | 8.52 | 9.41 |
VyOS XDP | 5.72 | 9.41 | 9.4 | 9.41 |
XDP improvement | 2.96x | 1.75x | 1.10x | 1.00x |
I reckon the ‘single’ thread speed is capped by my iperf client so I’ll go setup MoonGen for some proper tests.
As the VyOS documentation notes, the XDP path doesn’t work with firewall and NAT. I’m still looking at ways to speed that up.
If you want a copy of the VyOS ISO, DM me. I’ve been reluctant to publish them given the VyOS project depends on subscriptions, but I’ll reach out to them about it.