Create instances with SR-IOV ports

Create instances with SR-IOV ports

To enable the SR-IOV support, you must create virtual instances with SR-IOV ports.

To create virtual instances with SR-IOV ports:

  1. Create a network and a subnet with a segmentation ID. For example:

    neutron net-create --provider:physical_network=physnet3 \
        --provider:segmentation_id=100 net04
    neutron subnet-create net04 a.b.c.d/netmask
    
  2. Request the ID of the Neutron network where you want the SR-IOV port to be created. For example:

    net_id=`neutron net-show net04 | grep "\ id\ " | awk '{ print $4 }'`
    
  3. Create an SR-IOV port with one of the available VNIC driver types that are direct, normal, direct-physical, and macvtap:

    port_id=`neutron port-create $net_id --name sriov_port \
       --binding:vnic_type direct | grep "\ id\ " | awk '{ print $4 }'`
    
  4. Create a virtual instance with the SR-IOV port created in step 3:

    nova boot --flavor m1.large --image ubuntu_14.04 --nic port-id=$port_id test-sriov
    

See also

Using SR-IOV functionality in the official OpenStack documentation