How to troubleshoot a macvtap network in kvm/virt-manager

13,193

I have same problem with Ubuntu 13.10, I also update to 14.04 development branch to try but still does not work.

I do not know a good way debug, for my problem, I found eth0 does not enter promiscuous mode, I can not find message like device eth0 entered promiscuous mode in dmesg output. So I force eth0 into promiscuous mode, the problem then disappears.

This is what I did:

  1. Force eth0 into promiscuous mode: sudo ifconfig eth0 promisc
  2. Use virt-manager to start the VM
  3. ifconfig -a and ping outside to see whether it works for you.

I do not know why libvirt does not put eth0 into promiscuous mode, maybe a bug of it.

Share:
13,193

Related videos on Youtube

T_S_
Author by

T_S_

Updated on September 18, 2022

Comments

  • T_S_
    T_S_ over 1 year

    I have a virtual machine running under qemu-kvm, on a 13.10 host. I am using virt-manager to define the machine, and I have added a virtual NIC, using the new macvtap driver. I have the following definition:

    <interface type='direct'>
      <mac address='52:54:00:1f:dd:c4'/>
      <source dev='eth0' mode='bridge'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    

    On the host machine, I can see that the tap interface is created:

    $ip link
    
    5: macvtap0@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT qlen 500
        link/ether 52:54:00:1f:dd:c4 brd ff:ff:ff:ff:ff:ff
    
    $ls /dev/tap5 
    /dev/tap5
    

    But in the virtual machine, interface eth0 is unable to access the network. dhcp fails. Static configuration obviously works, but then I cannot ping anything.

    I have no iptables rules, neither on the host, nor in the virtual machine.

    So, how can I troubleshoot this problem ?

  • sdaffa23fdsf
    sdaffa23fdsf about 9 years
    I had the same issue on CentOS 7 as KVM host. The guest OS aren't learning any MAC address. Manually setting the physical interface on the host to promiscuous mode fixed the problem. Does macvtap actually requires promiscuous mode?