I have cloud system based on Openstack Icehouse-version. Now I want to test newer version of Openstack (Juno) inside my existing cloud. All hosts and guests use Ubuntu 14.04 as their OS. KVM is hypervisor I am using.

So I created virtual machines on my cloud and installed components of Openstack Juno on them. But I have problems with network connectivity on these virtual machines.

Openstack installation guide says:

If you are building your OpenStack nodes as virtual machines, you must configure the hypervisor to permit promiscuous mode on the external network.

But it does not tell how this is done. Neither was I able to find this information by Googling. I have tried many things such as enabling promiscuous mode on various interfaces with command: ifconfig eth0 promisc but nothing has worked. So how can I enable promiscuous mode on my hypervisor?

EDIT: When using ifconfig I see that my interfaces are in state UP BROADCAST RUNNING PROMISC. Also I have used similar installation before installed on physical hosts and it had no problems.

bumped to the homepage by Community yesterday

This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.

  • I didn't find solution. Eventyally I installed network node and compute node on physical machines. – Madoc Comadrin Jun 9 '15 at 12:49
  • Openstack networking isn't so trivial, and this is NOT a KVM question at all, really. You're trying to build controller and compute nodes in a VM, you need to create a separate project, assign it some separate networks, and probably use qemu as the hypervisor on the computes, unless you enabled nesting. Really, if you have already installed and have been using openstack, you should not be asking questions about "promisc mode", but planning how to do this in the confines of a tenant/project instead. – dyasny Aug 12 '16 at 17:14

ifconfig eth0 promisc is the correct command to enable promiscuous mode for an interface. If that didn't work try adding this line to /etc/rc.local and reboot.

ifconfig eth0 up

ifconfig eth0 promisc
  • After using that my interfaces are now in state UP BROADCAST RUNNING PROMISC as they were with using that command on terminal. But it not change anything. The guide speaks about hypervisor. I wonder if I need to do something to it as well? – Madoc Comadrin Jan 20 '15 at 8:07
  • @MadocComadrin You were supposed to do this on the hypervisor! – Michael Hampton Jan 28 '16 at 2:04
  • How is that done with KVM as hypervisor? I failed to find such configuration. – Madoc Comadrin Jan 28 '16 at 11:51
  • It is not done to the hypervisor, but to the host running the hypervisor. That's what 'external network' means. – Xalorous Aug 12 '16 at 17:36

External network means the network that connects to the Internet (typically with a public IP pool or similar), other resources outside of the cloud, etc. Are you using Neutron or Nova-networking? That's mildly important, but you should be making the bridge or whatever network abstraction you're using promiscuous, rather than the NIC connected to it. The nic should then follow suit.

The reason being that we need to perform packet inspection at the virtual switch level in order to determine where those packets should go. This should be done at the hypervisor level. It sounds like you're nesting hypervisors, and that may present its own issues that need to be dealt with. Is that the case?


Ben Pfaff on 2013 replied (check it out):

VMware made a terrible, confusing mistake in naming here. "Promiscuous mode" has a specific meaning.


What the VMware vSwitch calls "promiscuous mode" is quite different. When you configure promiscuous mode on a VMware vNIC, the vSwitch sends a copy of every packet received by the vSwitch to that vNIC. That has a much bigger effect: rather than getting a few stray packets for which the switch does not yet know the correct destination, the vNIC gets every packet.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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