With this workflow, Neutron handles the MAC address and DHCP functionality of your networking passthrough devices. Neutron is the recommended workflow for networking devices.

The Neutron workflow applies to both direct passthrough and SR-IOV passthrough. The following procedure shows how to create a port on a Neutron network and launch an instance with a direct passthrough device.


  1. Get the ID of the Neutron network where you want the port to be created.
    $ net_id=`neutron net-show <network_name> | grep "\ id\ " | awk '{ print $4 }'`
  2. Create the port.

    $ port_id=`neutron port-create $net_id 
       --name direct_port 
       --vnic_type direct-physical 
       --tenant-id $project_id | grep "\ id\ " | awk ' { print $4 }'`

    • Creating a port with vnic_type=direct-physical and booting an instance with this port creates a direct passthrough device on the instance.

    • Creating a port with vnic_type=direct and booting an instance with this port creates an SR-IOV device on the instance.

    For vnic_type values direct and direct-physical, port security is not supported and is automatically disabled.

  3. Create the VM.
    $ nova boot --flavor m1.large 
       --image ubuntu_14.04 
       --nic port-id=$port_id test-passthrough