Ubuntu 20.04
QEMU macvtap (works)
If I use following network config:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: yes
dhcp6: yes
And KVM client network use 'Host device eno1:macvtap', both IPv4, IPv6 works.
tcpdump port 67 or port 68 -i eno1 -nN
will show dhcp request, tcpdump on my dhcp server also see the incoming request.
QEMU with host bridge (not work)
However if I use a host bridge network config:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: false
dhcp6: false
optional: true
link-local: []
bridges:
br0:
parameters:
stp: false
forward-delay: 0
interfaces:
- eno1
dhcp4: true
dhcp6: true
And KVM client network use 'Bridge (Host device eno1)', then only IPv6 works, IPv4 cannot get DHCP.
tcpdump port 67 or port 68 -i br0 -nN
will show dhcp request, but tcpdump on my dhcp server don't see them.
Only dhcp is not working though. If I set Ipv4 address and route manually, both incoming and out going IPv4 traffic work.
I discover that if I disable docker completely:
sudo systemctl diable docker.service containerd.service
reboot
Then qemu with host bridge will work perfectly.
How can I use qemu with host bridge while running docker?