I'm using Arch Linux (up to date) with QEMU-KVM, libvirt and virt-manager as a front. I have several VMs, but only one running at a time so far. The VM I'm trying to get to work is on Debian 10, but I also have a Kali and a CentOS 7 with the same issue when I try similar things.

The interface I'm trying to use for the macvtap is a wireless card (on a Thinkpad T580 laptop) connected to a wifi access point (WPA2).

I'm trying to set up a macvtap interface to bridge the wlp4s0 connection on my host to one of my VM. To do that, I'm using virt-manager. I have tried bridge and VEPA mode on the macvtap, and I've tried all types of interfaces (virtual hardware) on the VM, to no avail, as there is no network connection. NAT mode, however, works fine on all VMs.

Libvirt does put the device (wlp4s0 on host) on promiscuous mode, though ip-link doesn't show it (flag in /sys/devices/... is changing nonetheless, and dmesg does say something about it entering promiscuous mode).

When launching Wireshark and pinging the gateway (with a fixed ip) from the VM, I do see the ARP request on the host on macvtap and on wlp4s0, but no response.

When using dhcp, dhclient does not get any response.

I can provide more info is needed. If you have any idea of what is causing that, I'll gladly hear your suggestions !


As far as I know, you still can't use a wireless card for guest bridging like that.

From wiki.libvirt.org:
Important Note: Unfortunately, wireless interfaces cannot be attached to a Linux host bridge, so if your connection to the external network is via a wireless interface ("wlanX"), you will not be able to use this mode of networking for your guests.


Even if it is not exactly what you asked for, you can use bridged network over a wireless interface.

See this answer for more information : https://unix.stackexchange.com/a/159198/249572 Instead of the 5th step in the answer you need to enable proxy arp on both interfaces as stated on one of the comments:

sysctl net.ipv4.conf.wlp4s0.proxy_arp=1
sysctl net.ipv4.conf.virbr1.proxy_arp=1

If you could also test enabling proxy arp for the wireless and macvtap interfaces and see if it works.

Not the answer you're looking for? Browse other questions tagged or ask your own question.