[Openstack] Is it possible to setup both SR-IOV-IB and Non-SR-IOV-Ethernet within 1 VM?

Mikyung Kang mkkang at isi.edu
Tue Sep 22 16:19:56 UTC 2015


I'm working for Icehouse-SR-IOV testbed on CentOS7.1. 

I could setup SR-IOV-Infiniband testbed and SR-IOV-IB-VM is working fine:

Now, on SR-IOV-Infiniband testbed, I'm going to add one more normal ethernet (10G) NIC into VM, that is, 2 different types of network (SR-IOV and Non-SR-IOV) within 1 VM. Is it possible?

Even though I added one more net/subnet/bridge/port for normal ethernet NIC, VM can't get normal ethernet IP. Only SR-IOV-IB NIC is working. Failed to make both SR-IOV-IB and Non-SR-IOV-Ethernet work within 1 VM.

I think that it's not possible to support SR-IOV and Non-SR-IOV on the same compute node when using Mellanox vif/eswitch/mlnx-agent packages.

There are 3 limitations:

(1) dhcp_driver in /etc/neutron/dhcp_agent.ini @controller ---> we have to choose one between linux.dhcp.Dnsmasq (Ethernet) or minx_dhcp.MlnxDnsmasq (IB).
(2) vif_driver in /etc/nova/nova.conf @compute --> we have to choose one between libvirt.vif (Non-SR-IOV) and mlnxvif.vif (SR-IOV). Also, minx [eswitch] requires mellanox's product/vendor ID.
(3) neutron-mlnx-agent @compute --> we had to stop neutron-openvswitch-agent (Non-SR-IOV) and then start only neutron-mlnx-agent (SR-IOV) to make SR-IOV-VM work.

Nobody tried to support both SR-IOV and Non-SR-IOV within 1 VM? It seems that Juno/Kilo version also uses same way.
Is it possible or impossible to support both at the same time using current icehouse-mellanox packages?? 
Any idea to support this? Any help is welcome!


More information about the Openstack mailing list