UCS Mechanism Driver for ML2 Plugin: Kilo

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.

This new feature introduced during the Kilo cycle release will allow the UCS Manager plugin to configure the Neutron Virtual ports. It performs two tasks:

  • Enables a specific VLAN on the physical NIC.
  • Enables the same VLAN on the outgoing trunk port of the fabric interconnect.

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: https://communities.cisco.com/docs/DOC-37174

Download the tar file and follow the installation instructions.


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

Get the Cisco Juno+ version of Neutron from:


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']
# Hostname to Service profile mapping for UCS Manager controlled compute hosts 
ucsm_host_list=Hostname1:Serviceprofile1, Hostname2:Serviceprofile2

On the node hosting the VM, add following entry to the <code>nova.conf</code> 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 (1137 in this example).

product_id is the product number of the VM-FEX or SR-IOV supporting NIC on the compute node (0071 in this example).

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