...there's ongoing effort to make this more flexible, by adding support
for generic NAT rules (https://bugs.passt.top/show_bug.cgi?id=140) so
that you can specifically map different ports and addresses to
specific ports and addresses. And do so dynamically, at runtime, too.
We now have a rather generic "forwarding rules" table implementation,
even if not entirely complete:
https://archives.passt.top/passt-dev/20260116005926.616085-1-david@gibson.dropbear.id.au/
and a very rudimentary draft of pesto(1), the client that would enable
configuring all that at runtime (I'm working on it these days):
https://archives.passt.top/passt-dev/20260204234209.455262-1-sbrivio@redhat.com/
...there's quite a bit left to do, and patches are warmly welcome.
Alright, that's about what I expected.
We currently heavily rely on stuff like guestfwd=udp:[::]:1000-udp:[::1]:14418,
where we want to redirect all outbound traffic from the guest to port 1000 to a different dynamically allocated port where a server binary is listening on the host.
We don't need runtime configuration, just the ability to specify everything statically when starting qemu.
I can't promise anything, but I'll see if this is something other people on my team would have cycles to help out with.
Thanks,
Peter Foley