Jump to: navigation, search


< Neutron‎ | ML2
Revision as of 00:32, 29 August 2013 by Rcurran (talk | contribs) (Created page with "<!-- ##master-page:HomepageTemplate --> <!-- #format wiki --> <!-- #language en --> = Neutron ML2 Driver For Cisco Nexus Devices = ---------------------- == Overview =...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Neutron ML2 Driver For Cisco Nexus Devices


The Cisco Nexus ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. This driver manages multiple types of Cisco Nexus switches. For further details, please refer to Arista OpenStack Deployment Guide provided by Arista Networks.

Note: The initial version of this driver supports only the VLAN network type on a single physical network.


The following NX-OS version and packages to enable Nexus switch support:

  • NX-OS 5.2.1 (Delhi) Build 69 or above.
  • paramiko library - SSHv2 protocol library for python
  • ncclient v0.3.1 - Python library for NETCONF clients
    • You need a version of ncclient modified by Cisco Systems. To get it, from your shell prompt do:
git clone git@github.com:CiscoSystems/ncclient.git
sudo python ./setup.py install
  • For more information of ncclient, see: http://schmizz.net/ncclient/
  • OS supported:
  • RHEL 6.1 or above
  • Ubuntu 11.10 or above
  • Package: python-configobj-4.6.0-3.el6.noarch (or newer)
  • Package: python-routes-1.12.3-2.el6.noarch (or newer)
  • Package: pip install mysql-python

Directory Structure

The Cisco Nexus mechanism driver can be found here:



Configure the Nexus switch information in /etc/neutron/plugins/ml2/ml2_conf_cisco.ini. The format should include the IP address of the switch, a host that's connected to the switch and the port on the switch that host is connected to. Also, add the Nexus switch credential username and password. You can configure multiple switches as well as multiple hosts per switch as shown in the example below:

# Hostname and port used of the node
# Hostname and port used of the node
# Port number where the SSH will be running at the Nexus Switch, e.g.: 22 (Default)
# Provide the Nexus credentials, if you are using Nexus switches. If not this will be ignored.