From DocWiki

Jump to: navigation, search


UCS Virtual Function Driver Plugin

The UCS Virtual Function Driver plugin allows you to partition certain Cisco and Intel physical NICs into multiple logical devices (called virtual functions, or VFs), controllable by the Cisco Unified Computing System (UCS) controller. This virtualization in turn allows you to configure a VM port's network traffic to communicate directly with a VF on the vNIC, bypassing the hypervisor, with two significant benefits:

  • Increased throughput on the VM.
  • Reduced CPU load on the compute host, enabling more VMs to run.

Note: Connecting VMs to a VF in direct mode disables live migration of the affected VMs.

Note: This software is provided "as is," and in no event does Cisco warrant that the software is error free or that customer will be able to operate the software without problems or interruptions.


UCS VF driver support requires the following OS versions and packages:

  • One of two supported OSes:
    • RHEL 6.1 or above
    • Ubuntu 14.04 or above
  • One of the following Cisco NICs with VM-FEX support or Intel NICs with SR-IOV support:
    • Cisco UCS VIC 1240 (vendor_id:product_id is 1137: 0071)
    • Intel 82599 10 Gigabit Ethernet Controller (vendor_id:product_id is 8086:10ed)
  • The Cisco UCS Python SDK version 0.8.3

Get the Cisco UCS Python SDK at:

Download the tar file and follow the installation instructions.


This feature is only available using neutron code from Cisco repository's Technical Preview branch.

The files required to configure the UCS VF driver are available in the neutron_install_dir/neutron/neutron/plugins/ml2/drivers/cisco/ucsm directory.

To support UCS VF Driver configuration on a controller node, add the following configuration settings under the ml2_cisco_ucsm heading in the _conf_cisco.ini file, as shown in the following example:


# Cisco UCS Manager IP address 
# Username to connect to UCS Manager 
# Password to connect to UCS Manager 
# SR-IOV and VM-FEX vendors supported by this plugin
xxxx:yyyy represents vendor_id:product_id 
# supported_pci_devs = ['1137: 0071', '8086:10ed']
# Names of physical networks handled by UCS Manager (might not be supported by Nova in this release)
supported-phy_nets = ['physnet1', 'physnet2']

On the node hosting the VM, add following entry to the nova.conf file:

pci_passthrough_whitelist = {"vendor_id":"1137","product_id":"0071","address":"*:0a:00.*","physical_network":"physnet1"}


vendor_id is the vendor number of the VM-FEX or SR-IOV supporting NIC on the compute node.

product_id is the product number of the VM-FEX or SR-IOV supporting NIC on the compute node.

address is optional. If address is omitted, the driver will allow the connection at any address.

physical_network is optional, but strongly recommended. If physical_network is omitted, the driver will allow the connection on any network. This is not desirable behavior.

Note: The PCI device (NIC) vendor ID and product ID must be configured to exactly match the configuration on the compute node, otherwise the driver will not attempt to connect to the VF. There will be no warning of this failure.

  • Ensure that the physical network is configured in ml2conf.ini

UCS VF Driver Configuration for DevStack

This feature is only available using Neutron code from Cisco repository's Technical Preview branch.

To use the UCS VF driver with the DevStack configuration, do the following additional configuration steps:

  • Set the following variable in the localrc file:
  • In local.conf, set the PCI passthrough whitelist and define the physical network:
pci_passthrough_whitelist = {"vendor_id":"1137","product_id":"0071","physical_network":"physnet1"}

Rating: 0.0/5 (0 votes cast)

Personal tools