bridgeless network for QEMU? (ie. only TAP, and manual/hookscript connections to host/other VMs)

hvisage

Renowned Member
May 21, 2013
292
29
93
I'm looking for a solution to drop the need for intermediate bridges for a corner/edge case where I need the VMs to have "direct" P2P links ONLY, and typically to the host too.

Reason: I want to use OpenFabric as a IGP, and it requires P2P links only , ie, only 2 parties to a link.

As I add more VMs in this case to a host, I see only a case where I have to create a bridge per link, and I don't have "signaling" to the host/other party when the guest is down, other than the timeouts/no-answers. (Okay, I could create a vlan per VM, but still not as "clean" as I still have to generate the host vlan ports too, and i'm still having this switch in between)

I've tried to add a
Code:
args: -nic: tap,ifname=flaptap0,model=virtio-net-pci
but then I hit:
Code:
kvm: -device VGA,id=vga,bus=pcie.0,addr=0x1: PCI: slot 1 function 0 not available for VGA, in use by virtio-net-pci,id=(null)

Anybody perhaps know how to add that nic/netdev without having to fudge pci values? And if I need to, how do I do it with
Code:
-nic
?
 
What I often use for test-setups involving PtP links is a VLAN-aware bridge and setup different VLAN-tags on the interfaces for every point to point connection. I think that's currently the best solution within the PVE stack.

Is there a specific need for having to stretch OpenFabric into the VMs? Wouldn't terminating the IGP at the nodes and then routing on the PVE host be sufficient?
 
Is there a specific need for having to stretch OpenFabric into the VMs?
Those VMs are the Provider Edge (PE) routers (the rest of the links are PCIe passthrough/SRIOV) and that is the way to get to/from the PVE. I'll spin up a few others that would be the iBGP route reflectors and then the PVEs would connect to those.

Then the PVEs are my meshed network and eventually a VxLAN ontop of the PVEs eventually

What I often use for test-setups involving PtP links is a VLAN-aware bridge and setup different VLAN-tags on the interfaces for every point to point connection. I think that's currently the best solution within the PVE stack.

Yes, that would/is the "PVE" way, but I don't want another bridge/process in between if I don't need to have it in between, would and have done similars before, but in this case I want to stay clear of it