I got my network working again, and this time I am running the VM as non-root user.
The hypervisor is an old Fedora install that I first upgraded to Fedora 43.
I used nmcli to remove all connections (I was in via telnet and a serial concentrator) and then added a bridge. I had to figure out which of the interfaces was actually attached to the outside world, which I did by re-creating an ethernet connection, and bringing it up, then deleting the connection. That device becomes the bridge-slave-device.
So, after a bunch of nmcli con del commands to get to a baseline, I ran:
nmcli con add type bridge con-name virbr0 ifname virbr0 nmcli connection modify virbr0 ipv4.method auto nmcli connection add type bridge-slave ifname enP5p1s0f0np0 master virbr0 con-name enP5p1s0f0np0 nmcli con up virbr0 |
And this should be enough to recreate.
I also had to create a permission for the bridge-helper to allow connection from userland:
I had to create he directory and then edit the file in :
/home/ayoung/qemu/build/qemu-bundle/usr/local/etc/qemu/bridge.conf
SO it looked like this:
allow virbr0
Edit: I recently wanted to make it so a non-root user can also connect to the network. It looks like I need to add a capability to the bridge helper binary:
sudo setcap cap_net_admin+ep /home/ayoung/qemu/build/qemu-bridge-helper
And. assuming everything has ownership set as ayoung, it look like it works.