Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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 ?

share|improve this question

1 Answer 1

up vote 1 down vote accepted

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|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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