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
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.
I would like to offer a suggestion regarding the testing methodology. While using iperf(3) is valuable, it is worth noting that it may lead to misleading results. In order to achieve more accurate measurements, I recommend considering the use of TRex test tool. Furthermore, including session counts in the test would provide a more comprehensive evaluation.
I believe implementing these adjustments will enhance the accuracy and effectiveness of the testing process.
Congratulations on your great work, and thank you for considering my input.
Sorry, I’ve been too busy to update the VyOS builder. It usually takes a couple of days to rebase all the tree changes and prepare a new set of patches.
I am looking to revisit it when VPP on VyOS progresses more.
Thanks for the quick response @mcbridematt! No need to apologise, already appreciate the effort you put in this.
I was able to fix the sign issues, however, the current issue is with the OWAMP dependencies. The script isn’t able to build the corresponding projects correctly and I’ve tried different things like manually installing the OWAMP dependencies, but it keeps failing. Any idea whether those dependencies are really needed and if not, how I can remove these from the project (along with all references)? Perhaps that could do the trick for the time being.