The thing is I really don’t want a bridge, I want my windows VM to be another host on the physical network, except it seems Windows only seems to give me a link local.
The macvlan device does work with VMs (technically it sets up what is known as a macvtap, but they are similar).
If the network card is coming up inside the VM, but you cannot do DHCP to the external network, then I would first check that nothing is filtering packets from your VM’s MAC address on your LXD host’s parent port, as that is a common failure scenario.
You should also check with tcpdump command on the LXD host that you can see DHCP broadcast packets leaving your LXD host’s external port from the VM, it may be you have a firewall on the host blocking it.
Thats correct, LXD cannot show the IPs for a Windows VM using macvlan.
The reason for this is as follows:
We do not (yet) have support for the lxd-agent inside the Windows VM guest (so it cannot relay the local IP info back to LXD).
The LXD host bridge doesn’t mediate traffic between the VM guest and the external network and so their is no ARP/NDP neighbour cache to inspect to ascertain the active IPs associated to the VM guest’s MAC address.
Are there any plans to do this? Just curious. I suppose that would also explain why 9p wasn’t going to work. (Not that that matters, I just used SMB instead).
vsock is the current issue on Windows, there is a skeleton driver at this point but this needs to be completed and signed before we can make use of it for the lxd agent.