<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.openstack.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=May</id>
		<title>OpenStack - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.openstack.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=May"/>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/wiki/Special:Contributions/May"/>
		<updated>2026-07-12T03:01:04Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-InfiniBand&amp;diff=136936</id>
		<title>Mellanox-Neutron-Kilo-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-InfiniBand&amp;diff=136936"/>
				<updated>2016-10-31T15:34:39Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the InfiniBand HCA. Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin. &lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. For vNIC type configuration API details, please refer to [https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking#VM_creation_flow_with_SR-IOV_vNIC configuration reference guide]. Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as  Remote Direct Memory Access (RDMA).&lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and an embedded switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter]&lt;br /&gt;
* Mellanox OFED 2.4 or above installed on all nodes. Please refer to Mellanox website for the latest [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers OFED] version&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Kilo''' release information, please refer to the relevant OS as follows:&lt;br /&gt;
* [[Mellanox-Neutron-Kilo-Redhat-InfiniBand | Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Kilo-Ubuntu-InfiniBand | Ubuntu14.04]]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136935</id>
		<title>Mellanox-Cinder</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136935"/>
				<updated>2016-10-31T15:33:20Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Known Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
Mellanox added iSCSI Extensions for RDMA (iSER) that does not need the TCP layer. Therefore, it provides lower latency and higher performance.&amp;lt;br /&amp;gt;&lt;br /&gt;
It permits data to be transferred directly into and out of SCSI computer memory buffers, which connects computers to storage devices, without intermediate data copies.&amp;lt;br /&amp;gt;&lt;br /&gt;
iSER is a server network protocol that extends the Internet Small Computer System Interface (iSCSI) protocol to use Remote Direct Memory Access (RDMA).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please contact Mellanox for further information and benchmark results.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Provisioned through standard Cinder installation.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In order to enable iSER, adjust these values at '''/etc/cinder/cinder.conf''':&lt;br /&gt;
&lt;br /&gt;
 iscsi_ip_address = &amp;lt;ipoib/roce_address&amp;gt;&lt;br /&gt;
 iscsi_protocol = iser&lt;br /&gt;
 volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver&lt;br /&gt;
&lt;br /&gt;
'''iscsi_ip_address''' is required to do a &amp;quot;discovery&amp;quot; over the IB/RoCE interface from the initiator side.&lt;br /&gt;
&lt;br /&gt;
'''volume_driver''' points cinder to use the LVMVolumeDriver.&lt;br /&gt;
&lt;br /&gt;
Restart Cinder service&lt;br /&gt;
&lt;br /&gt;
 #/etc/init.d/openstack-cinder-volume restart&lt;br /&gt;
&lt;br /&gt;
For troubleshooting issues, refer to section [https://wiki.openstack.org/wiki/Mellanox-Cinder#Known_Issues Known Issues]&lt;br /&gt;
&lt;br /&gt;
= Known Issues =&lt;br /&gt;
&lt;br /&gt;
(1)  “scsi-target-utils” package:&lt;br /&gt;
&lt;br /&gt;
'''Note''': For RH6.4 or below, “scsi-target-utils” package version needs to be 1.0.38 and above. If you use RDO installation, you should check the version.&lt;br /&gt;
The RPM can be found at http://www.mellanox.com/downloads/solutions/rpms/&lt;br /&gt;
 &lt;br /&gt;
 #wget http://www.mellanox.com/downloads/solutions/rpms/scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
 #rpm -Uvh scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
In addition, RH6.5 includes “scsi-target-utils” package with version 1.0.24-10. This version number is sufficient and no further action is needed for RHEL6.5.&lt;br /&gt;
&lt;br /&gt;
(2) Boot Instance from volume fails when iSER is enabled:&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce the bug:&lt;br /&gt;
&lt;br /&gt;
- Create new volume with image source.&lt;br /&gt;
&lt;br /&gt;
- Launch a new instance boot from the above volume using iSER transport.&lt;br /&gt;
&lt;br /&gt;
The bug is defined here:&lt;br /&gt;
[https://bugs.launchpad.net/nova/+bug/1253578]&lt;br /&gt;
&lt;br /&gt;
A patch can be found here: [http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch]&lt;br /&gt;
&lt;br /&gt;
To apply the patch, run the following commands on '''all nova-compute nodes''':&lt;br /&gt;
 # wget http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch &lt;br /&gt;
 # patch -p1 &amp;lt; volume.patch&lt;br /&gt;
 # service nova-compute restart &lt;br /&gt;
&lt;br /&gt;
(3) Flow control:&lt;br /&gt;
&lt;br /&gt;
In case the network is Ethernet, make sure that flow control is enabled on the switches on the relevant ports across the network.&lt;br /&gt;
&lt;br /&gt;
(4) Linux-IO (LIO) support limitation:&lt;br /&gt;
&lt;br /&gt;
Open-source implementation of SCSI target in Openstack can be managed by either TGT or LIO.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently in Openstack, iSER is supported over TGT only, and iSER support over LIO is scheduled for Kilo version.&amp;lt;br /&amp;gt;&lt;br /&gt;
In case LIO is the default SCSI target, TGT must be installed and Openstack Cinder configuration file must be altered to use TGT instead of LIO.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. [http://www.mellanox.com/openstack/ OpenStack solution page at Mellanox site]&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/mellanox-openstack Source repository]&lt;br /&gt;
&lt;br /&gt;
3. [http://www.mellanox.com/page/products_dyn?product_family=26 Mellanox OFED web page]&lt;br /&gt;
&lt;br /&gt;
4. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-controller.html Cinder-controller]&lt;br /&gt;
&lt;br /&gt;
5. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-node.html Cinder-node]&lt;br /&gt;
&lt;br /&gt;
Return to [https://wiki.openstack.org/wiki/Mellanox-OpenStack  Mellanox-OpenStack] wiki page.&lt;br /&gt;
&lt;br /&gt;
For more details, please direct any inquiries to  [mailto:openstack@mellanox.com openstack@mellanox.com].&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Liberty-InfiniBand&amp;diff=136934</id>
		<title>Mellanox-Neutron-Liberty-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Liberty-InfiniBand&amp;diff=136934"/>
				<updated>2016-10-31T15:31:38Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the VPI (Ethernet/InfiniBand) HCA. Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin. &lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. For vNIC type configuration API details, please refer to [https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking#VM_creation_flow_with_SR-IOV_vNIC configuration reference guide]. Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as Remote Direct Memory Access (RDMA).&lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks either on Ethernet or on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and an embedded switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter] with Mellanox OFED 2.4 or greater&lt;br /&gt;
* Mellanox ConnectX®-4 [http://www.mellanox.com/page/products_dyn?product_family=201&amp;amp; Network Adapter] with MLNX_OFED_LINUX-3.1-1.5.7 and greater.&lt;br /&gt;
*  [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers Mellanox OFED download page] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Liberty''' release Information refer to the relevant OS as follows:&lt;br /&gt;
&lt;br /&gt;
* [[Mellanox-Neutron-Liberty-Redhat-InfiniBand | Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Liberty-Ubuntu-InfiniBand | Ubuntu14.04]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Newton-InfiniBand&amp;diff=136932</id>
		<title>Mellanox-Neutron-Newton-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Newton-InfiniBand&amp;diff=136932"/>
				<updated>2016-10-31T14:54:22Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the VPI (Ethernet/InfiniBand) HCA.&lt;br /&gt;
Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin.&lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. For vNIC type configuration API details, please refer to [https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking#VM_creation_flow_with_SR-IOV_vNIC configuration reference guide].&lt;br /&gt;
Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as Remote Direct Memory Access (RDMA). &lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks either on Ethernet or on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and an embedded switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter] with [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers Mellanox OFED 2.4 or greater]&lt;br /&gt;
* Mellanox ConnectX®-4 [http://www.mellanox.com/page/products_dyn?product_family=201&amp;amp; Network Adapter] with [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers MLNX_OFED_LINUX-3.1-1.5.7 or greater].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Newton''' release Information refer to the relevant OS as follows:&lt;br /&gt;
&lt;br /&gt;
* [[Mellanox-Neutron-Newton-Redhat-InfiniBand | Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Newton-Ubuntu-InfiniBand | Ubuntu14.04]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Newton-InfiniBand&amp;diff=136931</id>
		<title>Mellanox-Neutron-Newton-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Newton-InfiniBand&amp;diff=136931"/>
				<updated>2016-10-31T14:53:15Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the VPI (Ethernet/InfiniBand) HCA.&lt;br /&gt;
Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin.&lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. For vNIC type configuration API details, please refer to configuration reference guide.&lt;br /&gt;
Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as Remote Direct Memory Access (RDMA). &lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks either on Ethernet or on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and an embedded switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter] with [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers Mellanox OFED 2.4 or greater]&lt;br /&gt;
* Mellanox ConnectX®-4 [http://www.mellanox.com/page/products_dyn?product_family=201&amp;amp; Network Adapter] with [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers MLNX_OFED_LINUX-3.1-1.5.7 or greater].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Newton''' release Information refer to the relevant OS as follows:&lt;br /&gt;
&lt;br /&gt;
* [[Mellanox-Neutron-Newton-Redhat-InfiniBand | Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Newton-Ubuntu-InfiniBand | Ubuntu14.04]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Juno-InfiniBand&amp;diff=136930</id>
		<title>Mellanox-Neutron-Juno-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Juno-InfiniBand&amp;diff=136930"/>
				<updated>2016-10-31T14:52:15Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the VPI (Ethernet/InfiniBand) HCA. Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin. &lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. For vNIC type configuration API details, please refer to [https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking#VM_creation_flow_with_SR-IOV_vNIC configuration reference guide]. Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as Remote Direct Memory Access (RDMA).&lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks either on Ethernet or on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and an embedded switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter]&lt;br /&gt;
* Mellanox OFED 2.4 or greater installed on all nodes. Please refer to Mellanox website for the latest [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers OFED] version&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Juno''' release information, please refer to the relevant OS as follows:&lt;br /&gt;
&lt;br /&gt;
* [[Mellanox-Neutron-Juno-Redhat-InfiniBand|Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Juno-Ubuntu-InfiniBand|Ubuntu14.04]]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Juno-InfiniBand&amp;diff=136929</id>
		<title>Mellanox-Neutron-Juno-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Juno-InfiniBand&amp;diff=136929"/>
				<updated>2016-10-31T14:35:55Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the VPI (Ethernet/InfiniBand) HCA. Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin. &lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. For vNIC type configuration API details, please refer to configuration reference guide (click here). Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as Remote Direct Memory Access (RDMA).&lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks either on Ethernet or on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and an embedded switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter]&lt;br /&gt;
* Mellanox OFED 2.4 or greater installed on all nodes. Please refer to Mellanox website for the latest [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers OFED] version&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Juno''' release information, please refer to the relevant OS as follows:&lt;br /&gt;
&lt;br /&gt;
* [[Mellanox-Neutron-Juno-Redhat-InfiniBand|Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Juno-Ubuntu-InfiniBand|Ubuntu14.04]]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-InfiniBand&amp;diff=136928</id>
		<title>Mellanox-Neutron-Kilo-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-InfiniBand&amp;diff=136928"/>
				<updated>2016-10-31T14:31:48Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the InfiniBand HCA. Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin. &lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. For vNIC type configuration API details, please refer to configuration reference guide. Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as  Remote Direct Memory Access (RDMA).&lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and an embedded switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter]&lt;br /&gt;
* Mellanox OFED 2.4 or above installed on all nodes. Please refer to Mellanox website for the latest [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers OFED] version&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Kilo''' release information, please refer to the relevant OS as follows:&lt;br /&gt;
* [[Mellanox-Neutron-Kilo-Redhat-InfiniBand | Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Kilo-Ubuntu-InfiniBand | Ubuntu14.04]]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-InfiniBand&amp;diff=136927</id>
		<title>Mellanox-Neutron-Kilo-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-InfiniBand&amp;diff=136927"/>
				<updated>2016-10-31T14:31:09Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the InfiniBand HCA. Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin. &lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. For vNIC type configuration API details, please refer to configuration reference guide. Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as  Remote Direct Memory Access (RDMA).&lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and an embedded switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter]&lt;br /&gt;
* Mellanox OFED 2.4 or above installed on all nodes. Please refer to Mellanox website for the latest [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers OFED]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Kilo''' release information, please refer to the relevant OS as follows:&lt;br /&gt;
* [[Mellanox-Neutron-Kilo-Redhat-InfiniBand | Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Kilo-Ubuntu-InfiniBand | Ubuntu14.04]]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Juno-Ethernet&amp;diff=136926</id>
		<title>Mellanox-Neutron-Juno-Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Juno-Ethernet&amp;diff=136926"/>
				<updated>2016-10-31T14:28:53Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* SR-IOV Networking in OpenStack Juno */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ethernet Configuration with Mellanox SR-IOV Networking in OpenStack Juno= &lt;br /&gt;
OpenStack Juno added inbox support to request VM access to virtual network via SR-IOV NIC. With the introduction of SR-IOV based NICs, the traditional virtual bridge is no longer required. Each SR-IOV port is associated with a virtual function (VF). SR-IOV ports may be provided by Hardware-based Virtual Ethernet Bridging (HW VEB); or they may be extended to an upstream physical switch (IEEE 802.1br).&lt;br /&gt;
There are two ways in which SR-IOV port may be connected:&lt;br /&gt;
* Directly connected to its VF&lt;br /&gt;
* Connected with a macvtap device that resides on the host, which is then connected to the corresponding VF&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[SR-IOV-Passthrough-For-Networking|Configure SR-IOV]]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Juno-Ethernet&amp;diff=136925</id>
		<title>Mellanox-Neutron-Juno-Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Juno-Ethernet&amp;diff=136925"/>
				<updated>2016-10-31T14:27:56Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Ethernet Configuration with Mellanox */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=SR-IOV Networking in OpenStack Juno= &lt;br /&gt;
OpenStack Juno added inbox support to request VM access to virtual network via SR-IOV NIC. With the introduction of SR-IOV based NICs, the traditional virtual bridge is no longer required. Each SR-IOV port is associated with a virtual function (VF). SR-IOV ports may be provided by Hardware-based Virtual Ethernet Bridging (HW VEB); or they may be extended to an upstream physical switch (IEEE 802.1br).&lt;br /&gt;
There are two ways that SR-IOV port may be connected:&lt;br /&gt;
* directly connected to its VF&lt;br /&gt;
* connected with a macvtap device that resides on the host, which is then connected to the corresponding VF&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[SR-IOV-Passthrough-For-Networking|Configure SR-IOV]]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-Ethernet&amp;diff=136924</id>
		<title>Mellanox-Neutron-Kilo-Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-Ethernet&amp;diff=136924"/>
				<updated>2016-10-31T14:25:37Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* SDN Mechanism Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ethernet Configuration with Mellanox SR-IOV Networking in OpenStack Kilo= &lt;br /&gt;
OpenStack Juno added inbox support to request VM access to virtual network via SR-IOV NIC. With the introduction of SR-IOV based NICs, the traditional virtual bridge is no longer required. Each SR-IOV port is associated with a virtual function (VF). SR-IOV ports may be provided by Hardware-based Virtual Ethernet Bridging (HW VEB); or they may be extended to an upstream physical switch (IEEE 802.1br).&lt;br /&gt;
There are two ways in which the SR-IOV port may be connected:&lt;br /&gt;
* Directly connected to its VF&lt;br /&gt;
* Connected with a macvtap device that resides on the host, which is then connected to the corresponding VF&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[SR-IOV-Passthrough-For-Networking|Configure SR-IOV]]&lt;br /&gt;
&lt;br /&gt;
==SDN Mechanism Driver==&lt;br /&gt;
[https://community.mellanox.com/docs/DOC-2155 SDN Mechanism Driver] allows NEO to dynamically configure VLANs on the Mellanox Switches.&lt;br /&gt;
Further reading:&lt;br /&gt;
* [http://www.mellanox.com/page/products_dyn?product_family=220&amp;amp;mtag=mellanox_neo NEO]&lt;br /&gt;
* [http://www.mellanox.com/page/ethernet_switch_overview Mellanox Switches]&lt;br /&gt;
* [https://community.mellanox.com/docs/DOC-2251 SDN Mechanism Driver]&lt;br /&gt;
&lt;br /&gt;
==Ceilometer==&lt;br /&gt;
The Mellanox Ceilometer SR-IOV module allows the OpenStack Ceilometer to collect measurements of SR-IOV counters.&lt;br /&gt;
&lt;br /&gt;
More details about applying Mellanox Ceilometer module can be found [https://community.mellanox.com/docs/DOC-2145 here]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-Ethernet&amp;diff=136923</id>
		<title>Mellanox-Neutron-Kilo-Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-Ethernet&amp;diff=136923"/>
				<updated>2016-10-31T14:23:47Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* SR-IOV Networking in OpenStack Kilo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ethernet Configuration with Mellanox SR-IOV Networking in OpenStack Kilo= &lt;br /&gt;
OpenStack Juno added inbox support to request VM access to virtual network via SR-IOV NIC. With the introduction of SR-IOV based NICs, the traditional virtual bridge is no longer required. Each SR-IOV port is associated with a virtual function (VF). SR-IOV ports may be provided by Hardware-based Virtual Ethernet Bridging (HW VEB); or they may be extended to an upstream physical switch (IEEE 802.1br).&lt;br /&gt;
There are two ways in which the SR-IOV port may be connected:&lt;br /&gt;
* Directly connected to its VF&lt;br /&gt;
* Connected with a macvtap device that resides on the host, which is then connected to the corresponding VF&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[SR-IOV-Passthrough-For-Networking|Configure SR-IOV]]&lt;br /&gt;
&lt;br /&gt;
==SDN Mechanism Driver==&lt;br /&gt;
[https://community.mellanox.com/docs/DOC-2155 SDN Mechanism Driver] allows NEO to configure dynamically VLANs on the Mellanox Switches.&lt;br /&gt;
Further Reading&lt;br /&gt;
* [http://www.mellanox.com/page/products_dyn?product_family=220&amp;amp;mtag=mellanox_neo NEO]&lt;br /&gt;
* [http://www.mellanox.com/page/ethernet_switch_overview Mellanox Switches]&lt;br /&gt;
* [https://community.mellanox.com/docs/DOC-2251 SDN Mechanism Driver]&lt;br /&gt;
&lt;br /&gt;
==Ceilometer==&lt;br /&gt;
The Mellanox Ceilometer SR-IOV module allows the OpenStack Ceilometer to collect measurements of SR-IOV counters.&lt;br /&gt;
&lt;br /&gt;
More details about applying Mellanox Ceilometer module can be found [https://community.mellanox.com/docs/DOC-2145 here]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-Ethernet&amp;diff=136922</id>
		<title>Mellanox-Neutron-Kilo-Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-Ethernet&amp;diff=136922"/>
				<updated>2016-10-31T14:22:07Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Ethernet Configuration with Mellanox */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=SR-IOV Networking in OpenStack Kilo= &lt;br /&gt;
OpenStack Juno added inbox support to request VM access to virtual network via SR-IOV NIC. With the introduction of SR-IOV based NICs, the traditional virtual bridge is no longer required. Each SR-IOV port is associated with a virtual function (VF). SR-IOV ports may be provided by Hardware-based Virtual Ethernet Bridging (HW VEB); or they may be extended to an upstream physical switch (IEEE 802.1br).&lt;br /&gt;
There are two ways in which the SR-IOV port may be connected:&lt;br /&gt;
* Directly connected to its VF&lt;br /&gt;
* Connected with a macvtap device that resides on the host, which is then connected to the corresponding VF&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[SR-IOV-Passthrough-For-Networking|Configure SR-IOV]]&lt;br /&gt;
&lt;br /&gt;
==SDN Mechanism Driver==&lt;br /&gt;
[https://community.mellanox.com/docs/DOC-2155 SDN Mechanism Driver] allows NEO to configure dynamically VLANs on the Mellanox Switches.&lt;br /&gt;
Further Reading&lt;br /&gt;
* [http://www.mellanox.com/page/products_dyn?product_family=220&amp;amp;mtag=mellanox_neo NEO]&lt;br /&gt;
* [http://www.mellanox.com/page/ethernet_switch_overview Mellanox Switches]&lt;br /&gt;
* [https://community.mellanox.com/docs/DOC-2251 SDN Mechanism Driver]&lt;br /&gt;
&lt;br /&gt;
==Ceilometer==&lt;br /&gt;
The Mellanox Ceilometer SR-IOV module allows the OpenStack Ceilometer to collect measurements of SR-IOV counters.&lt;br /&gt;
&lt;br /&gt;
More details about applying Mellanox Ceilometer module can be found [https://community.mellanox.com/docs/DOC-2145 here]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-Ethernet&amp;diff=136921</id>
		<title>Mellanox-Neutron-Kilo-Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Kilo-Ethernet&amp;diff=136921"/>
				<updated>2016-10-31T14:18:24Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* SR-IOV Networking in OpenStack Kilo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ethernet Configuration with Mellanox=&lt;br /&gt;
=SR-IOV Networking in OpenStack Kilo= &lt;br /&gt;
OpenStack Juno added inbox support to request VM access to virtual network via SR-IOV NIC. With the introduction of SR-IOV based NICs, the traditional virtual bridge is no longer required. Each SR-IOV port is associated with a virtual function (VF). SR-IOV ports may be provided by Hardware-based Virtual Ethernet Bridging (HW VEB); or they may be extended to an upstream physical switch (IEEE 802.1br).&lt;br /&gt;
There are two ways in which the SR-IOV port may be connected:&lt;br /&gt;
* Directly connected to its VF&lt;br /&gt;
* Connected with a macvtap device that resides on the host, which is then connected to the corresponding VF&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[SR-IOV-Passthrough-For-Networking|Configure SR-IOV]]&lt;br /&gt;
&lt;br /&gt;
==SDN Mechanism Driver==&lt;br /&gt;
[https://community.mellanox.com/docs/DOC-2155 SDN Mechanism Driver] allows NEO to configure dynamically VLANs on the Mellanox Switches.&lt;br /&gt;
Further Reading&lt;br /&gt;
* [http://www.mellanox.com/page/products_dyn?product_family=220&amp;amp;mtag=mellanox_neo NEO]&lt;br /&gt;
* [http://www.mellanox.com/page/ethernet_switch_overview Mellanox Switches]&lt;br /&gt;
* [https://community.mellanox.com/docs/DOC-2251 SDN Mechanism Driver]&lt;br /&gt;
&lt;br /&gt;
==Ceilometer==&lt;br /&gt;
The Mellanox Ceilometer SR-IOV module allows the OpenStack Ceilometer to collect measurements of SR-IOV counters.&lt;br /&gt;
&lt;br /&gt;
More details about applying Mellanox Ceilometer module can be found [https://community.mellanox.com/docs/DOC-2145 here]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136919</id>
		<title>Mellanox-Cinder</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136919"/>
				<updated>2016-10-31T13:41:19Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
Mellanox added iSCSI Extensions for RDMA (iSER) that does not need the TCP layer. Therefore, it provides lower latency and higher performance.&amp;lt;br /&amp;gt;&lt;br /&gt;
It permits data to be transferred directly into and out of SCSI computer memory buffers, which connects computers to storage devices, without intermediate data copies.&amp;lt;br /&amp;gt;&lt;br /&gt;
iSER is a server network protocol that extends the Internet Small Computer System Interface (iSCSI) protocol to use Remote Direct Memory Access (RDMA).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please contact Mellanox for further information and benchmark results.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Provisioned through standard Cinder installation.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In order to enable iSER, adjust these values at '''/etc/cinder/cinder.conf''':&lt;br /&gt;
&lt;br /&gt;
 iscsi_ip_address = &amp;lt;ipoib/roce_address&amp;gt;&lt;br /&gt;
 iscsi_protocol = iser&lt;br /&gt;
 volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver&lt;br /&gt;
&lt;br /&gt;
'''iscsi_ip_address''' is required to do a &amp;quot;discovery&amp;quot; over the IB/RoCE interface from the initiator side.&lt;br /&gt;
&lt;br /&gt;
'''volume_driver''' points cinder to use the LVMVolumeDriver.&lt;br /&gt;
&lt;br /&gt;
Restart Cinder service&lt;br /&gt;
&lt;br /&gt;
 #/etc/init.d/openstack-cinder-volume restart&lt;br /&gt;
&lt;br /&gt;
For troubleshooting issues, refer to section [https://wiki.openstack.org/wiki/Mellanox-Cinder#Known_Issues Known Issues]&lt;br /&gt;
&lt;br /&gt;
= Known Issues =&lt;br /&gt;
&lt;br /&gt;
(1)  “scsi-target-utils” package &lt;br /&gt;
&lt;br /&gt;
'''Note''': For RH6.4 or below, “scsi-target-utils” package version needs to be 1.0.38 and above. If you use RDO installation, you should check the version.&lt;br /&gt;
The RPM can be found at http://www.mellanox.com/downloads/solutions/rpms/&lt;br /&gt;
 &lt;br /&gt;
 #wget http://www.mellanox.com/downloads/solutions/rpms/scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
 #rpm -Uvh scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
In addition, RH6.5 includes “scsi-target-utils” package with version 1.0.24-10. This version number is sufficient and no further action is needed for RHEL6.5.&lt;br /&gt;
&lt;br /&gt;
(2) Boot Instance from volume fails when iSER is enabled.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce the bug:&lt;br /&gt;
&lt;br /&gt;
- Create new volume with image source.&lt;br /&gt;
&lt;br /&gt;
- Launch a new instance boot from the above volume using iSER transport.&lt;br /&gt;
&lt;br /&gt;
The bug is defined here:&lt;br /&gt;
[https://bugs.launchpad.net/nova/+bug/1253578]&lt;br /&gt;
&lt;br /&gt;
A patch can be found here: [http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch]&lt;br /&gt;
&lt;br /&gt;
To apply the patch, run the following commands on '''all nova-compute nodes''':&lt;br /&gt;
 # wget http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch &lt;br /&gt;
 # patch -p1 &amp;lt; volume.patch&lt;br /&gt;
 # service nova-compute restart &lt;br /&gt;
&lt;br /&gt;
(3) Flow control&lt;br /&gt;
&lt;br /&gt;
In case the network is Ethernet, make sure that flow control is enabled on the switches on the relevant ports across the network.&lt;br /&gt;
&lt;br /&gt;
(4) Linux-IO (LIO) support limitation.&lt;br /&gt;
&lt;br /&gt;
Open-source implementation of SCSI target in Openstack can be managed by either TGT or LIO.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently in Openstack, iSER is supported over TGT only, and iSER support over LIO is scheduled for Kilo version.&amp;lt;br /&amp;gt;&lt;br /&gt;
In case LIO is the default SCSI target, TGT must be installed and Openstack Cinder configuration file must be altered to use TGT instead of LIO.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. [http://www.mellanox.com/openstack/ OpenStack solution page at Mellanox site]&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/mellanox-openstack Source repository]&lt;br /&gt;
&lt;br /&gt;
3. [http://www.mellanox.com/page/products_dyn?product_family=26 Mellanox OFED web page]&lt;br /&gt;
&lt;br /&gt;
4. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-controller.html Cinder-controller]&lt;br /&gt;
&lt;br /&gt;
5. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-node.html Cinder-node]&lt;br /&gt;
&lt;br /&gt;
Return to [https://wiki.openstack.org/wiki/Mellanox-OpenStack  Mellanox-OpenStack] wiki page.&lt;br /&gt;
&lt;br /&gt;
For more details, please direct any inquiries to  [mailto:openstack@mellanox.com openstack@mellanox.com].&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136918</id>
		<title>Mellanox-Cinder</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136918"/>
				<updated>2016-10-31T13:40:33Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
Mellanox added iSCSI Extensions for RDMA (iSER) that does not need the TCP layer. Therefore, it provides lower latency and higher performance.&amp;lt;br /&amp;gt;&lt;br /&gt;
It permits data to be transferred directly into and out of SCSI computer memory buffers, which connects computers to storage devices, without intermediate data copies.&amp;lt;br /&amp;gt;&lt;br /&gt;
iSER is a server network protocol that extends the Internet Small Computer System Interface (iSCSI) protocol to use Remote Direct Memory Access (RDMA).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please contact Mellanox for further information and benchmark results.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Provisioned through standard Cinder installation.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In order to enable iSER, adjust these values at '''/etc/cinder/cinder.conf''':&lt;br /&gt;
&lt;br /&gt;
 iscsi_ip_address = &amp;lt;ipoib/roce_address&amp;gt;&lt;br /&gt;
 iscsi_protocol = iser&lt;br /&gt;
 volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver&lt;br /&gt;
&lt;br /&gt;
'''iscsi_ip_address''' is required to do a &amp;quot;discovery&amp;quot; over the IB/RoCE interface from the initiator side.&lt;br /&gt;
&lt;br /&gt;
'''volume_driver''' points cinder to use the LVMVolumeDriver.&lt;br /&gt;
&lt;br /&gt;
Restart Cinder service&lt;br /&gt;
&lt;br /&gt;
 #/etc/init.d/openstack-cinder-volume restart&lt;br /&gt;
&lt;br /&gt;
For troubleshooting issues, refer to section [https://wiki.openstack.org/wiki/Mellanox-Cinder#Known_Issues Known Issues]&lt;br /&gt;
&lt;br /&gt;
= Known Issues =&lt;br /&gt;
&lt;br /&gt;
(1)  “scsi-target-utils” package &lt;br /&gt;
&lt;br /&gt;
'''Note''': For RH6.4 or below, “scsi-target-utils” package version needs to be 1.0.38 and above. If you use RDO installation, you should check the version.&lt;br /&gt;
The RPM can be found at http://www.mellanox.com/downloads/solutions/rpms/&lt;br /&gt;
 &lt;br /&gt;
 #wget http://www.mellanox.com/downloads/solutions/rpms/scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
 #rpm -Uvh scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
In addition, RH6.5 includes “scsi-target-utils” package with version 1.0.24-10. This version number is sufficient and no further action is needed for RHEL6.5.&lt;br /&gt;
&lt;br /&gt;
(2) Boot Instance from volume fails when iSER is enabled.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce the bug:&lt;br /&gt;
&lt;br /&gt;
- Create new volume with image source.&lt;br /&gt;
&lt;br /&gt;
- Launch a new instance boot from the above volume using iSER transport.&lt;br /&gt;
&lt;br /&gt;
The bug is defined here:&lt;br /&gt;
[https://bugs.launchpad.net/nova/+bug/1253578]&lt;br /&gt;
&lt;br /&gt;
A patch can be found here: [http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch]&lt;br /&gt;
&lt;br /&gt;
To apply the patch, run the following commands on '''all nova-compute nodes''':&lt;br /&gt;
 # wget http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch &lt;br /&gt;
 # patch -p1 &amp;lt; volume.patch&lt;br /&gt;
 # service nova-compute restart &lt;br /&gt;
&lt;br /&gt;
(3) Flow control&lt;br /&gt;
&lt;br /&gt;
In case the network is Ethernet, make sure that flow control is enabled on the switches on the relevant ports across the network.&lt;br /&gt;
&lt;br /&gt;
(4) Linux-IO (LIO) support limitation.&lt;br /&gt;
&lt;br /&gt;
Open-source implementation of SCSI target in Openstack can be managed by either TGT or LIO.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently in Openstack, iSER is supported over TGT only, and iSER support over LIO is scheduled for Kilo version.&amp;lt;br /&amp;gt;&lt;br /&gt;
In case LIO is the default SCSI target, TGT must be installed and Openstack Cinder configuration file must be altered to use TGT instead of LIO.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. [http://www.mellanox.com/openstack/ OpenStack solution page at Mellanox site]&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/mellanox-openstack Source repository]&lt;br /&gt;
&lt;br /&gt;
3. [http://www.mellanox.com/page/products_dyn?product_family=26 Mellanox OFED web page]&lt;br /&gt;
&lt;br /&gt;
4. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-controller.html Cinder-controller]&lt;br /&gt;
&lt;br /&gt;
5. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-node.html Cinder-node]&lt;br /&gt;
&lt;br /&gt;
Return to [https://wiki.openstack.org/wiki/Mellanox-OpenStack  Mellanox-OpenStack] wiki page.&lt;br /&gt;
&lt;br /&gt;
For more details, please address any inquiries to  [mailto:openstack@mellanox.com openstack@mellanox.com].&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136917</id>
		<title>Mellanox-Cinder</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136917"/>
				<updated>2016-10-31T13:39:54Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Known Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
Mellanox added iSCSI Extensions for RDMA (iSER) that does not need the TCP layer. Therefore, it provides lower latency and higher performance.&amp;lt;br /&amp;gt;&lt;br /&gt;
It permits data to be transferred directly into and out of SCSI computer memory buffers, which connects computers to storage devices, without intermediate data copies.&amp;lt;br /&amp;gt;&lt;br /&gt;
iSER is a server network protocol that extends the Internet Small Computer System Interface (iSCSI) protocol to use Remote Direct Memory Access (RDMA).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please contact Mellanox for further information and benchmark results.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Provisioned through standard Cinder installation.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In order to enable iSER, adjust these values at '''/etc/cinder/cinder.conf''':&lt;br /&gt;
&lt;br /&gt;
 iscsi_ip_address = &amp;lt;ipoib/roce_address&amp;gt;&lt;br /&gt;
 iscsi_protocol = iser&lt;br /&gt;
 volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver&lt;br /&gt;
&lt;br /&gt;
'''iscsi_ip_address''' is required to do a &amp;quot;discovery&amp;quot; over the IB/RoCE interface from the initiator side.&lt;br /&gt;
&lt;br /&gt;
'''volume_driver''' points cinder to use the LVMVolumeDriver.&lt;br /&gt;
&lt;br /&gt;
Restart Cinder service&lt;br /&gt;
&lt;br /&gt;
 #/etc/init.d/openstack-cinder-volume restart&lt;br /&gt;
&lt;br /&gt;
For troubleshooting issues, refer to section [https://wiki.openstack.org/wiki/Mellanox-Cinder#Known_Issues Known Issues]&lt;br /&gt;
&lt;br /&gt;
= Known Issues =&lt;br /&gt;
&lt;br /&gt;
(1)  “scsi-target-utils” package &lt;br /&gt;
&lt;br /&gt;
'''Note''': For RH6.4 or below, “scsi-target-utils” package version needs to be 1.0.38 and above. If you use RDO installation, you should check the version.&lt;br /&gt;
The RPM can be found at http://www.mellanox.com/downloads/solutions/rpms/&lt;br /&gt;
 &lt;br /&gt;
 #wget http://www.mellanox.com/downloads/solutions/rpms/scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
 #rpm -Uvh scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
In addition, RH6.5 includes “scsi-target-utils” package with version 1.0.24-10. This version number is sufficient and no further action is needed for RHEL6.5.&lt;br /&gt;
&lt;br /&gt;
(2) Boot Instance from volume fails when iSER is enabled.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce the bug:&lt;br /&gt;
&lt;br /&gt;
- Create new volume with image source.&lt;br /&gt;
&lt;br /&gt;
- Launch a new instance boot from the above volume using iSER transport.&lt;br /&gt;
&lt;br /&gt;
The bug is defined here:&lt;br /&gt;
[https://bugs.launchpad.net/nova/+bug/1253578]&lt;br /&gt;
&lt;br /&gt;
A patch can be found here: [http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch]&lt;br /&gt;
&lt;br /&gt;
To apply the patch, run the following commands on '''all nova-compute nodes''':&lt;br /&gt;
 # wget http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch &lt;br /&gt;
 # patch -p1 &amp;lt; volume.patch&lt;br /&gt;
 # service nova-compute restart &lt;br /&gt;
&lt;br /&gt;
(3) Flow control&lt;br /&gt;
&lt;br /&gt;
In case the network is Ethernet, make sure that flow control is enabled on the switches on the relevant ports across the network.&lt;br /&gt;
&lt;br /&gt;
(4) Linux-IO (LIO) support limitation.&lt;br /&gt;
&lt;br /&gt;
Open-source implementation of SCSI target in Openstack can be managed by either TGT or LIO.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently in Openstack, iSER is supported over TGT only, and iSER support over LIO is scheduled for Kilo version.&amp;lt;br /&amp;gt;&lt;br /&gt;
In case LIO is the default SCSI target, TGT must be installed and Openstack Cinder configuration file must be altered to use TGT instead of LIO.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. [http://www.mellanox.com/openstack/ OpenStack solution page at Mellanox site]&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/mellanox-openstack Source repository]&lt;br /&gt;
&lt;br /&gt;
3. [http://www.mellanox.com/page/products_dyn?product_family=26 Mellanox OFED web page]&lt;br /&gt;
&lt;br /&gt;
4. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-controller.html Cinder-controller]&lt;br /&gt;
&lt;br /&gt;
5. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-node.html Cinder-node]&lt;br /&gt;
&lt;br /&gt;
Return to [https://wiki.openstack.org/wiki/Mellanox-OpenStack  Mellanox-OpenStack] wiki page.&lt;br /&gt;
&lt;br /&gt;
For more details, please refer any inquiries to  [mailto:openstack@mellanox.com openstack@mellanox.com].&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136904</id>
		<title>Mellanox-Cinder</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136904"/>
				<updated>2016-10-31T12:54:26Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Known Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
Mellanox added iSCSI Extensions for RDMA (iSER) that does not need the TCP layer. Therefore, it provides lower latency and higher performance.&amp;lt;br /&amp;gt;&lt;br /&gt;
It permits data to be transferred directly into and out of SCSI computer memory buffers, which connects computers to storage devices, without intermediate data copies.&amp;lt;br /&amp;gt;&lt;br /&gt;
iSER is a server network protocol that extends the Internet Small Computer System Interface (iSCSI) protocol to use Remote Direct Memory Access (RDMA).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please contact Mellanox for further information and benchmark results.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Provisioned through standard Cinder installation.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In order to enable iSER, adjust these values at '''/etc/cinder/cinder.conf''':&lt;br /&gt;
&lt;br /&gt;
 iscsi_ip_address = &amp;lt;ipoib/roce_address&amp;gt;&lt;br /&gt;
 iscsi_protocol = iser&lt;br /&gt;
 volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver&lt;br /&gt;
&lt;br /&gt;
'''iscsi_ip_address''' is required to do a &amp;quot;discovery&amp;quot; over the IB/RoCE interface from the initiator side.&lt;br /&gt;
&lt;br /&gt;
'''volume_driver''' points cinder to use the LVMVolumeDriver.&lt;br /&gt;
&lt;br /&gt;
Restart Cinder service&lt;br /&gt;
&lt;br /&gt;
 #/etc/init.d/openstack-cinder-volume restart&lt;br /&gt;
&lt;br /&gt;
For troubleshooting issues, refer to section [https://wiki.openstack.org/wiki/Mellanox-Cinder#Known_Issues Known Issues]&lt;br /&gt;
&lt;br /&gt;
= Known Issues =&lt;br /&gt;
&lt;br /&gt;
(1)  “scsi-target-utils” package &lt;br /&gt;
&lt;br /&gt;
'''Note''': For RH6.4 or below, “scsi-target-utils” package version needs to be 1.0.38 and above. If you use RDO installation, you should check the version.&lt;br /&gt;
The RPM can be found at http://www.mellanox.com/downloads/solutions/rpms/&lt;br /&gt;
 &lt;br /&gt;
 #wget http://www.mellanox.com/downloads/solutions/rpms/scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
 #rpm -Uvh scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
In addition, RH6.5 includes “scsi-target-utils” package with version 1.0.24-10. This version number is sufficient and no further action is needed for RHEL6.5.&lt;br /&gt;
&lt;br /&gt;
(2) Boot Instance from volume fails when iSER is enabled.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce the bug:&lt;br /&gt;
&lt;br /&gt;
- Create new volume with image source.&lt;br /&gt;
&lt;br /&gt;
- Launch a new instance boot from the above volume using iSER transport.&lt;br /&gt;
&lt;br /&gt;
The bug is defined here:&lt;br /&gt;
[https://bugs.launchpad.net/nova/+bug/1253578]&lt;br /&gt;
&lt;br /&gt;
A patch can be found here: [http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch]&lt;br /&gt;
&lt;br /&gt;
To apply the patch, run the following commands on '''all nova-compute nodes''':&lt;br /&gt;
 # wget http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch &lt;br /&gt;
 # patch -p1 &amp;lt; volume.patch&lt;br /&gt;
 # service nova-compute restart &lt;br /&gt;
&lt;br /&gt;
(3) Flow control&lt;br /&gt;
&lt;br /&gt;
In case the network is Ethernet, make sure that flow control is enabled on the switches on the relevant ports across the network.&lt;br /&gt;
&lt;br /&gt;
(4) Linux-IO (LIO) support limitation.&lt;br /&gt;
&lt;br /&gt;
Open-source implementation of SCSI target in Openstack can be managed by either TGT or LIO.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently in Openstack, iSER is supported over TGT only, and iSER support over LIO is scheduled for Kilo version.&amp;lt;br /&amp;gt;&lt;br /&gt;
In case LIO is the default SCSI target, one must one install TGT and alter Openstack Cinder configuration file to use TGT instead of LIO.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. [http://www.mellanox.com/openstack/ OpenStack solution page at Mellanox site]&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/mellanox-openstack Source repository]&lt;br /&gt;
&lt;br /&gt;
3. [http://www.mellanox.com/page/products_dyn?product_family=26 Mellanox OFED web page]&lt;br /&gt;
&lt;br /&gt;
4. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-controller.html Cinder-controller]&lt;br /&gt;
&lt;br /&gt;
5. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-node.html Cinder-node]&lt;br /&gt;
&lt;br /&gt;
Return to [https://wiki.openstack.org/wiki/Mellanox-OpenStack  Mellanox-OpenStack] wiki page.&lt;br /&gt;
&lt;br /&gt;
For more details, please refer any inquiries to  [mailto:openstack@mellanox.com openstack@mellanox.com].&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136903</id>
		<title>Mellanox-Cinder</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136903"/>
				<updated>2016-10-31T12:53:22Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Known Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
Mellanox added iSCSI Extensions for RDMA (iSER) that does not need the TCP layer. Therefore, it provides lower latency and higher performance.&amp;lt;br /&amp;gt;&lt;br /&gt;
It permits data to be transferred directly into and out of SCSI computer memory buffers, which connects computers to storage devices, without intermediate data copies.&amp;lt;br /&amp;gt;&lt;br /&gt;
iSER is a server network protocol that extends the Internet Small Computer System Interface (iSCSI) protocol to use Remote Direct Memory Access (RDMA).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please contact Mellanox for further information and benchmark results.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Provisioned through standard Cinder installation.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In order to enable iSER, adjust these values at '''/etc/cinder/cinder.conf''':&lt;br /&gt;
&lt;br /&gt;
 iscsi_ip_address = &amp;lt;ipoib/roce_address&amp;gt;&lt;br /&gt;
 iscsi_protocol = iser&lt;br /&gt;
 volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver&lt;br /&gt;
&lt;br /&gt;
'''iscsi_ip_address''' is required to do a &amp;quot;discovery&amp;quot; over the IB/RoCE interface from the initiator side.&lt;br /&gt;
&lt;br /&gt;
'''volume_driver''' points cinder to use the LVMVolumeDriver.&lt;br /&gt;
&lt;br /&gt;
Restart Cinder service&lt;br /&gt;
&lt;br /&gt;
 #/etc/init.d/openstack-cinder-volume restart&lt;br /&gt;
&lt;br /&gt;
For troubleshooting issues, refer to section [https://wiki.openstack.org/wiki/Mellanox-Cinder#Known_Issues Known Issues]&lt;br /&gt;
&lt;br /&gt;
= Known Issues =&lt;br /&gt;
&lt;br /&gt;
(1)  “scsi-target-utils” package &lt;br /&gt;
&lt;br /&gt;
'''Note''': For RH6.4 or below, “scsi-target-utils” package version needs to be 1.0.38 and above. If you use RDO installation, you should check the version.&lt;br /&gt;
The RPM can be found at http://www.mellanox.com/downloads/solutions/rpms/&lt;br /&gt;
 &lt;br /&gt;
 #wget http://www.mellanox.com/downloads/solutions/rpms/scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
 #rpm -Uvh scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
In addition, RH6.5 includes “scsi-target-utils” package with version 1.0.24-10. This version number is sufficient and no further action is needed for RHEL6.5.&lt;br /&gt;
&lt;br /&gt;
(2) Boot Instance from volume fails when iSER is enabled.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce the bug:&lt;br /&gt;
&lt;br /&gt;
- Create new volume with image source.&lt;br /&gt;
&lt;br /&gt;
- Launch a new instance boot from the above volume using iSER transport.&lt;br /&gt;
&lt;br /&gt;
The bug is defined here:&lt;br /&gt;
[https://bugs.launchpad.net/nova/+bug/1253578]&lt;br /&gt;
&lt;br /&gt;
A patch can be found here: [http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch]&lt;br /&gt;
&lt;br /&gt;
To apply the patch, run the following commands on '''all nova-compute nodes''':&lt;br /&gt;
 # wget http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch &lt;br /&gt;
 # patch -p1 &amp;lt; volume.patch&lt;br /&gt;
 # service nova-compute restart &lt;br /&gt;
&lt;br /&gt;
(3) Flow control&lt;br /&gt;
&lt;br /&gt;
In case the network is Ethernet, make sure that flow control is enabled on the switches on the relevant ports across the network.&lt;br /&gt;
&lt;br /&gt;
(4) Linux-IO (LIO) support limitation.&lt;br /&gt;
&lt;br /&gt;
Open-source implementation of SCSI target in Openstack can be managed by either TGT or LIO.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently in Openstack, iSER is supported over TGT only, and iSER support over LIO is scheduled for Kilo version.&amp;lt;br /&amp;gt;&lt;br /&gt;
In case LIO is the default SCSI target, one must one install TGT and alter Openstack Cinder conf file to use TGT instead of lio.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. [http://www.mellanox.com/openstack/ OpenStack solution page at Mellanox site]&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/mellanox-openstack Source repository]&lt;br /&gt;
&lt;br /&gt;
3. [http://www.mellanox.com/page/products_dyn?product_family=26 Mellanox OFED web page]&lt;br /&gt;
&lt;br /&gt;
4. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-controller.html Cinder-controller]&lt;br /&gt;
&lt;br /&gt;
5. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-node.html Cinder-node]&lt;br /&gt;
&lt;br /&gt;
Return to [https://wiki.openstack.org/wiki/Mellanox-OpenStack  Mellanox-OpenStack] wiki page.&lt;br /&gt;
&lt;br /&gt;
For more details, please refer any inquiries to  [mailto:openstack@mellanox.com openstack@mellanox.com].&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136902</id>
		<title>Mellanox-Cinder</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136902"/>
				<updated>2016-10-31T12:05:43Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Known Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
Mellanox added iSCSI Extensions for RDMA (iSER) that does not need the TCP layer. Therefore, it provides lower latency and higher performance.&amp;lt;br /&amp;gt;&lt;br /&gt;
It permits data to be transferred directly into and out of SCSI computer memory buffers, which connects computers to storage devices, without intermediate data copies.&amp;lt;br /&amp;gt;&lt;br /&gt;
iSER is a server network protocol that extends the Internet Small Computer System Interface (iSCSI) protocol to use Remote Direct Memory Access (RDMA).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please contact Mellanox for further information and benchmark results.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Provisioned through standard Cinder installation.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In order to enable iSER, adjust these values at '''/etc/cinder/cinder.conf''':&lt;br /&gt;
&lt;br /&gt;
 iscsi_ip_address = &amp;lt;ipoib/roce_address&amp;gt;&lt;br /&gt;
 iscsi_protocol = iser&lt;br /&gt;
 volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver&lt;br /&gt;
&lt;br /&gt;
'''iscsi_ip_address''' is required to do a &amp;quot;discovery&amp;quot; over the IB/RoCE interface from the initiator side.&lt;br /&gt;
&lt;br /&gt;
'''volume_driver''' points cinder to use the LVMVolumeDriver.&lt;br /&gt;
&lt;br /&gt;
Restart Cinder service&lt;br /&gt;
&lt;br /&gt;
 #/etc/init.d/openstack-cinder-volume restart&lt;br /&gt;
&lt;br /&gt;
For troubleshooting issues, refer to section [https://wiki.openstack.org/wiki/Mellanox-Cinder#Known_Issues Known Issues]&lt;br /&gt;
&lt;br /&gt;
= Known Issues =&lt;br /&gt;
&lt;br /&gt;
(1)  “scsi-target-utils” package &lt;br /&gt;
&lt;br /&gt;
'''Note''': For RH6.4 or below: “scsi-target-utils” package needs to be 1.0.38 and up. If you use RDO installation you should check the version.&lt;br /&gt;
The RPM can be found in http://www.mellanox.com/downloads/solutions/rpms/&lt;br /&gt;
 &lt;br /&gt;
 #wget http://www.mellanox.com/downloads/solutions/rpms/scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
 #rpm -Uvh scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
In addition, RH6.5 has “scsi-target-utils” package with version 1.0.24-10, which is good enough, no further action is needed for RHEL6.5&lt;br /&gt;
&lt;br /&gt;
(2) Boot Instance from volume fails when iSER is enabled&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce the bug:&lt;br /&gt;
&lt;br /&gt;
- Create new volume with image source.&lt;br /&gt;
&lt;br /&gt;
- Launch a new instance boot from the above volume using iSER transport.&lt;br /&gt;
&lt;br /&gt;
The bug is defined here:&lt;br /&gt;
[https://bugs.launchpad.net/nova/+bug/1253578]&lt;br /&gt;
&lt;br /&gt;
A patch can be found in here: [http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch]&lt;br /&gt;
&lt;br /&gt;
To apply the patch run the following commands on '''all nova-compute nodes''':&lt;br /&gt;
 # wget http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch &lt;br /&gt;
 # patch -p1 &amp;lt; volume.patch&lt;br /&gt;
 # service nova-compute restart &lt;br /&gt;
&lt;br /&gt;
(3) Flow control&lt;br /&gt;
&lt;br /&gt;
In case the network is Ethernet, Make sure that flow control is enabled on the switches on the relevant ports across the network.&lt;br /&gt;
&lt;br /&gt;
(4) lio support limitation.&lt;br /&gt;
&lt;br /&gt;
Open-source implementation of SCSI target in Openstack can be managed by either TGT or LIO.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently in Openstack, iSER is supported over TGT only, and iSER support over LIO is scheduled for Kilo version.&amp;lt;br /&amp;gt;&lt;br /&gt;
In case LIO is the default SCSI target, one must one install TGT and alter Openstack Cinder conf file to use TGT instead of lio.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. [http://www.mellanox.com/openstack/ OpenStack solution page at Mellanox site]&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/mellanox-openstack Source repository]&lt;br /&gt;
&lt;br /&gt;
3. [http://www.mellanox.com/page/products_dyn?product_family=26 Mellanox OFED web page]&lt;br /&gt;
&lt;br /&gt;
4. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-controller.html Cinder-controller]&lt;br /&gt;
&lt;br /&gt;
5. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-node.html Cinder-node]&lt;br /&gt;
&lt;br /&gt;
Return to [https://wiki.openstack.org/wiki/Mellanox-OpenStack  Mellanox-OpenStack] wiki page.&lt;br /&gt;
&lt;br /&gt;
For more details, please refer any inquiries to  [mailto:openstack@mellanox.com openstack@mellanox.com].&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136901</id>
		<title>Mellanox-Cinder</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Cinder&amp;diff=136901"/>
				<updated>2016-10-31T11:47:25Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
Mellanox added iSCSI Extensions for RDMA (iSER) that does not need the TCP layer. Therefore, it provides lower latency and higher performance.&amp;lt;br /&amp;gt;&lt;br /&gt;
It permits data to be transferred directly into and out of SCSI computer memory buffers, which connects computers to storage devices, without intermediate data copies.&amp;lt;br /&amp;gt;&lt;br /&gt;
iSER is a server network protocol that extends the Internet Small Computer System Interface (iSCSI) protocol to use Remote Direct Memory Access (RDMA).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please contact Mellanox for further information and benchmark results.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Provisioned through standard Cinder installation.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In order to enable iSER, adjust these values at '''/etc/cinder/cinder.conf''':&lt;br /&gt;
&lt;br /&gt;
 iscsi_ip_address = &amp;lt;ipoib/roce_address&amp;gt;&lt;br /&gt;
 iscsi_protocol = iser&lt;br /&gt;
 volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver&lt;br /&gt;
&lt;br /&gt;
'''iscsi_ip_address''' is required to do a &amp;quot;discovery&amp;quot; over the IB/RoCE interface from the initiator side.&lt;br /&gt;
&lt;br /&gt;
'''volume_driver''' points cinder to use the LVMVolumeDriver.&lt;br /&gt;
&lt;br /&gt;
Restart Cinder service&lt;br /&gt;
&lt;br /&gt;
 #/etc/init.d/openstack-cinder-volume restart&lt;br /&gt;
&lt;br /&gt;
For troubleshooting issues, refer to section [https://wiki.openstack.org/wiki/Mellanox-Cinder#Known_Issues Known Issues]&lt;br /&gt;
&lt;br /&gt;
= Known Issues =&lt;br /&gt;
&lt;br /&gt;
(1)  “scsi-target-utils” package &lt;br /&gt;
&lt;br /&gt;
Note: for RH6.4 or below: “scsi-target-utils” package needs to be 1.0.38 and up, if you use RDO installation you should check the version.&lt;br /&gt;
The RPM can be found in http://www.mellanox.com/downloads/solutions/rpms/&lt;br /&gt;
 &lt;br /&gt;
 #wget http://www.mellanox.com/downloads/solutions/rpms/scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
 #rpm -Uvh scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
In addition, RH6.5 has “scsi-target-utils” package with version 1.0.24-10, which is good enough, no further action is needed for RHEL6.5&lt;br /&gt;
&lt;br /&gt;
(2) Boot Instance from volume fails when iSER is enabled&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce the bug:&lt;br /&gt;
&lt;br /&gt;
- Create new volume with image source.&lt;br /&gt;
&lt;br /&gt;
- Launch a new instance boot from the above volume using iSER transport.&lt;br /&gt;
&lt;br /&gt;
The bug is defined here:&lt;br /&gt;
[https://bugs.launchpad.net/nova/+bug/1253578]&lt;br /&gt;
&lt;br /&gt;
A patch can be found in here: [http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch]&lt;br /&gt;
&lt;br /&gt;
To apply the patch run the following commands on '''all nova-compute nodes''':&lt;br /&gt;
 # wget http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch &lt;br /&gt;
 # patch -p1 &amp;lt; volume.patch&lt;br /&gt;
 # service nova-compute restart &lt;br /&gt;
&lt;br /&gt;
(3) Flow control&lt;br /&gt;
&lt;br /&gt;
In case the network is Ethernet, Make sure that flow control is enabled on the switches on the relevant ports across the network.&lt;br /&gt;
&lt;br /&gt;
(4) lio support limitation.&lt;br /&gt;
&lt;br /&gt;
Open-source implementation of SCSI target in Openstack can be managed by either TGT or LIO.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently in Openstack, iSER is supported over TGT only, and iSER support over LIO is scheduled for Kilo version.&amp;lt;br /&amp;gt;&lt;br /&gt;
In case LIO is the default SCSI target, one must one install TGT and alter Openstack Cinder conf file to use TGT instead of lio. &lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. [http://www.mellanox.com/openstack/ OpenStack solution page at Mellanox site]&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/mellanox-openstack Source repository]&lt;br /&gt;
&lt;br /&gt;
3. [http://www.mellanox.com/page/products_dyn?product_family=26 Mellanox OFED web page]&lt;br /&gt;
&lt;br /&gt;
4. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-controller.html Cinder-controller]&lt;br /&gt;
&lt;br /&gt;
5. [http://docs.openstack.org/havana/install-guide/install/yum/content/cinder-node.html Cinder-node]&lt;br /&gt;
&lt;br /&gt;
Return to [https://wiki.openstack.org/wiki/Mellanox-OpenStack  Mellanox-OpenStack] wiki page.&lt;br /&gt;
&lt;br /&gt;
For more details, please refer any inquiries to  [mailto:openstack@mellanox.com openstack@mellanox.com].&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Newton-InfiniBand&amp;diff=136900</id>
		<title>Mellanox-Neutron-Newton-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Newton-InfiniBand&amp;diff=136900"/>
				<updated>2016-10-31T09:53:52Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the VPI (Ethernet/InfiniBand) HCA.&lt;br /&gt;
Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin.&lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. For vNIC type configuration API details, please refer to configuration reference guide.&lt;br /&gt;
Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as Remote Direct Memory Access (RDMA). &lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks either on Ethernet or on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and embedded switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter] with [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers Mellanox OFED 2.4 or greater]&lt;br /&gt;
* Mellanox ConnectX®-4 [http://www.mellanox.com/page/products_dyn?product_family=201&amp;amp; Network Adapter] with [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers MLNX_OFED_LINUX-3.1-1.5.7 or greater].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Newton''' release Information refer to the relevant OS as follows:&lt;br /&gt;
&lt;br /&gt;
* [[Mellanox-Neutron-Newton-Redhat-InfiniBand | Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Newton-Ubuntu-InfiniBand | Ubuntu14.04]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Mitaka-InfiniBand&amp;diff=136899</id>
		<title>Mellanox-Neutron-Mitaka-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Mitaka-InfiniBand&amp;diff=136899"/>
				<updated>2016-10-31T09:53:21Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the VPI (Ethernet/InfiniBand) HCA. Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin. &lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as  Remote Direct Memory Access (RDMA) or [http://docs.openstack.org/liberty/networking-guide/adv-config-sriov.html SR-IOV]&lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks either on Ethernet or on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and an embedded switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter] with [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers Mellanox OFED 2.4] or greater.&lt;br /&gt;
* Mellanox ConnectX®-4 [http://www.mellanox.com/page/products_dyn?product_family=201&amp;amp; Network Adapter] with [[http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers Mellanox OFED 3.1-1.5.7] or greater.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Mitaka''' release Information refer to the relevant OS as follows:&lt;br /&gt;
&lt;br /&gt;
* [[Mellanox-Neutron-Mitaka-Redhat-InfiniBand | Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Mitaka-Ubuntu-InfiniBand | Ubuntu14.04]]    ( Under review )&lt;br /&gt;
* [[Mellanox-Neutron-Mitaka-Ubuntu-InfiniBand-16 | Ubuntu 16.04 LTS]]    ( Under review )&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Liberty-InfiniBand&amp;diff=136898</id>
		<title>Mellanox-Neutron-Liberty-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Liberty-InfiniBand&amp;diff=136898"/>
				<updated>2016-10-31T09:52:51Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the VPI (Ethernet/InfiniBand) HCA. Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin. &lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. For vNIC type configuration API details, please refer to configuration reference guide (click here). Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as Remote Direct Memory Access (RDMA).&lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks either on Ethernet or on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and an embedded switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter] with Mellanox OFED 2.4 or greater&lt;br /&gt;
* Mellanox ConnectX®-4 [http://www.mellanox.com/page/products_dyn?product_family=201&amp;amp; Network Adapter] with MLNX_OFED_LINUX-3.1-1.5.7 and greater.&lt;br /&gt;
*  [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers Mellanox OFED download page] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Liberty''' release Information refer to the relevant OS as follows:&lt;br /&gt;
&lt;br /&gt;
* [[Mellanox-Neutron-Liberty-Redhat-InfiniBand | Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Liberty-Ubuntu-InfiniBand | Ubuntu14.04]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Mitaka-InfiniBand&amp;diff=136897</id>
		<title>Mellanox-Neutron-Mitaka-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Mitaka-InfiniBand&amp;diff=136897"/>
				<updated>2016-10-31T09:50:45Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the VPI (Ethernet/InfiniBand) HCA. Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin. &lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as  Remote Direct Memory Access (RDMA) or [http://docs.openstack.org/liberty/networking-guide/adv-config-sriov.html SR-IOV]&lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks either on Ethernet or on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and an Embedded Switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter] with [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers Mellanox OFED 2.4] or greater.&lt;br /&gt;
* Mellanox ConnectX®-4 [http://www.mellanox.com/page/products_dyn?product_family=201&amp;amp; Network Adapter] with [[http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers Mellanox OFED 3.1-1.5.7] or greater.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Mitaka''' release Information refer to the relevant OS as follows:&lt;br /&gt;
&lt;br /&gt;
* [[Mellanox-Neutron-Mitaka-Redhat-InfiniBand | Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Mitaka-Ubuntu-InfiniBand | Ubuntu14.04]]    ( Under review )&lt;br /&gt;
* [[Mellanox-Neutron-Mitaka-Ubuntu-InfiniBand-16 | Ubuntu 16.04 LTS]]    ( Under review )&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Newton-InfiniBand&amp;diff=136894</id>
		<title>Mellanox-Neutron-Newton-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Newton-InfiniBand&amp;diff=136894"/>
				<updated>2016-10-31T08:43:48Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mellanox ML2 Mechanism Driver implements the ML2 Plugin Mechanism Driver API. &lt;br /&gt;
&lt;br /&gt;
This driver supports Mellanox embedded switch functionality as part of the VPI (Ethernet/InfiniBand) HCA.&lt;br /&gt;
Mellanox ML2 Mechanism Driver provides a functional parity with Mellanox Neutron plugin.&lt;br /&gt;
&lt;br /&gt;
Mellanox ML2 Mechanism Driver supports DIRECT (PCI passthrough) vNIC type. For vNIC type configuration API details, please refer to configuration reference guide.&lt;br /&gt;
Hardware vNICs mapped to the guest VMs allow higher performance and advanced features such as Remote Direct Memory Access (RDMA). &lt;br /&gt;
&lt;br /&gt;
The driver supports VLAN network type to facilitate virtual networks either on Ethernet or on InfiniBand fabrics. &lt;br /&gt;
* Mellanox OpenStack Neutron Agent (L2 Agent) runs on each compute node. &lt;br /&gt;
* Agent should apply VIF connectivity based on mapping between a VIF (VM vNIC) and Embedded Switch port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
* Mellanox ConnectX®-3/Mellanox ConnectX®-3 PRO [http://www.mellanox.com/page/products_dyn?product_family=119 Network Adapter] with [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers Mellanox OFED 2.4 or greater]&lt;br /&gt;
* Mellanox ConnectX®-4 [http://www.mellanox.com/page/products_dyn?product_family=201&amp;amp; Network Adapter] with [http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers MLNX_OFED_LINUX-3.1-1.5.7 or greater].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''Newton''' release Information refer to the relevant OS as follows:&lt;br /&gt;
&lt;br /&gt;
* [[Mellanox-Neutron-Newton-Redhat-InfiniBand | Redhat7]]&lt;br /&gt;
* [[Mellanox-Neutron-Newton-Ubuntu-InfiniBand | Ubuntu14.04]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Liberty-Ethernet&amp;diff=136878</id>
		<title>Mellanox-Neutron-Liberty-Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Liberty-Ethernet&amp;diff=136878"/>
				<updated>2016-10-30T13:40:06Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* SDN Mechanism Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Configuration==&lt;br /&gt;
[https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking Configure SR-IOV]&lt;br /&gt;
&lt;br /&gt;
==SDN Mechanism Driver==&lt;br /&gt;
[https://community.mellanox.com/docs/DOC-2155 SDN Mechanism Driver] allows NEO to dynamically configure VLANs on the Mellanox Switches.&lt;br /&gt;
Further reading:&lt;br /&gt;
* [http://www.mellanox.com/page/products_dyn?product_family=220&amp;amp;mtag=mellanox_neo NEO]&lt;br /&gt;
* [http://www.mellanox.com/page/ethernet_switch_overview Mellanox Switches]&lt;br /&gt;
* [https://community.mellanox.com/docs/DOC-2251 SDN Mechanism Driver]&lt;br /&gt;
&lt;br /&gt;
==Ceilometer==&lt;br /&gt;
The Mellanox Ceilometer SR-IOV module allows the OpenStack Ceilometer to collect measurements of SR-IOV counters.&lt;br /&gt;
&lt;br /&gt;
More details about applying Mellanox Ceilometer module can be found [https://community.mellanox.com/docs/DOC-2145 here]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Newton-Ethernet&amp;diff=136877</id>
		<title>Mellanox-Neutron-Newton-Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Newton-Ethernet&amp;diff=136877"/>
				<updated>2016-10-30T13:38:07Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* SDN Mechanism Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Configuration==&lt;br /&gt;
[https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking Configure SR-IOV]&lt;br /&gt;
&lt;br /&gt;
==SDN Mechanism Driver==&lt;br /&gt;
[https://community.mellanox.com/docs/DOC-2155 SDN Mechanism Driver] allows NEO to dynamically configure VLANs on the Mellanox Switches.&lt;br /&gt;
Further reading:&lt;br /&gt;
* [http://www.mellanox.com/page/products_dyn?product_family=220&amp;amp;mtag=mellanox_neo NEO]&lt;br /&gt;
* [http://www.mellanox.com/page/ethernet_switch_overview Mellanox Switches]&lt;br /&gt;
* [https://community.mellanox.com/docs/DOC-2251 SDN Mechanism Driver]&lt;br /&gt;
&lt;br /&gt;
==Ceilometer==&lt;br /&gt;
The Mellanox Ceilometer SR-IOV module allows the OpenStack Ceilometer to collect measurements of SR-IOV counters.&lt;br /&gt;
&lt;br /&gt;
More details about applying Mellanox Ceilometer module can be found [https://community.mellanox.com/docs/DOC-2145 here]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Newton-Ethernet&amp;diff=136876</id>
		<title>Mellanox-Neutron-Newton-Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Newton-Ethernet&amp;diff=136876"/>
				<updated>2016-10-30T11:59:54Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* SDN Mechanism Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Configuration==&lt;br /&gt;
[https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking Configure SR-IOV]&lt;br /&gt;
&lt;br /&gt;
==SDN Mechanism Driver==&lt;br /&gt;
[https://community.mellanox.com/docs/DOC-2155 SDN Mechanism Driver] allows NEO to dynamically configure VLANs on the Mellanox Switches.&lt;br /&gt;
Further Reading&lt;br /&gt;
* [http://www.mellanox.com/page/products_dyn?product_family=220&amp;amp;mtag=mellanox_neo NEO]&lt;br /&gt;
* [http://www.mellanox.com/page/ethernet_switch_overview Mellanox Switches]&lt;br /&gt;
* [https://community.mellanox.com/docs/DOC-2251 SDN Mechanism Driver]&lt;br /&gt;
&lt;br /&gt;
==Ceilometer==&lt;br /&gt;
The Mellanox Ceilometer SR-IOV module allows the OpenStack Ceilometer to collect measurements of SR-IOV counters.&lt;br /&gt;
&lt;br /&gt;
More details about applying Mellanox Ceilometer module can be found [https://community.mellanox.com/docs/DOC-2145 here]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-OpenStack&amp;diff=136875</id>
		<title>Mellanox-OpenStack</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-OpenStack&amp;diff=136875"/>
				<updated>2016-10-30T11:55:45Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Mellanox Neutron Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Mellanox Neutron Plugin  =&lt;br /&gt;
Mellanox supports the OpenStack Neutron releases with open source networking components through Neutron. It delivers higher computing and storage performance and additional functionalities, such as NIC-based switching to provide better security and isolation for virtual cloud environments.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet SR-IOV ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Ocata !! Newton !! Mitaka !! Liberty !! Kilo !! Juno&lt;br /&gt;
|-&lt;br /&gt;
|   || [https://wiki.openstack.org/wiki/Mellanox-Neutron-Newton-Ethernet SR-IOV] ||   [https://wiki.openstack.org/wiki/Mellanox-Neutron-Mitaka-Ethernet SR-IOV]  || [https://wiki.openstack.org/wiki/Mellanox-Neutron-Liberty-Ethernet SR-IOV]  || [https://wiki.openstack.org/wiki/Mellanox-Neutron-Kilo-Ethernet SR-IOV] ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Juno-Ethernet SR-IOV]&lt;br /&gt;
|-&lt;br /&gt;
|  || [http://docs.openstack.org/liberty/networking-guide/adv-config-qos.html QOS] ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  || [https://community.mellanox.com/docs/DOC-2612 VF LAG] ||  || ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  || [https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking#FDB_L2_Agent_Extension FDB] ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Infiniband SR-IOV===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Ocata !! Newton !! Mitaka !! Liberty !! Kilo !! Juno&lt;br /&gt;
|-&lt;br /&gt;
|   || [https://wiki.openstack.org/wiki/Mellanox-Neutron-Newton-InfiniBand SR-IOV] ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Mitaka-InfiniBand SR-IOV]  ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Liberty-InfiniBand SR-IOV]  ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Kilo-InfiniBand SR-IOV]  ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Juno-InfiniBand SR-IOV] &lt;br /&gt;
|-&lt;br /&gt;
|  || [https://community.mellanox.com/docs/DOC-2155 NEO SDN Mechanism]  || [https://community.mellanox.com/docs/DOC-2155 NEO SDN Mechanism] || [https://community.mellanox.com/docs/DOC-2155 NEO SDN Mechanism] |||| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mellanox Cinder Plugin =&lt;br /&gt;
Mellanox provides an OpenStack Storage plugin that enables running storage volume traffic over native RDMA transport, providing five-fold faster throughput over standard TCP/IP, while significantly increasing infrastructure efficiency by using less CPU resources.&lt;br /&gt;
&lt;br /&gt;
For additional information about Mellanox Cinder, refer to [https://wiki.openstack.org/wiki/Mellanox-Cinder Mellanox Cinder] wiki page.&lt;br /&gt;
&lt;br /&gt;
= Mellanox Ironic =&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. [http://www.mellanox.com/openstack/ OpenStack solution page at Mellanox site]&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/mellanox-openstack Source repository]&lt;br /&gt;
&lt;br /&gt;
3. [http://www.mellanox.com/page/products_dyn?product_family=26 Mellanox OFED web page]&lt;br /&gt;
&lt;br /&gt;
4. [http://community.mellanox.com/community/solutions Mellanox Community]&lt;br /&gt;
&lt;br /&gt;
5. [https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking SR-IOV Passthrough for Networking]&lt;br /&gt;
&lt;br /&gt;
For more details, please refer your question to  [mailto:support@mellanox.com support@mellanox.com]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-OpenStack&amp;diff=136874</id>
		<title>Mellanox-OpenStack</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-OpenStack&amp;diff=136874"/>
				<updated>2016-10-30T11:54:06Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Mellanox Cinder Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Mellanox Neutron Plugin  =&lt;br /&gt;
Mellanox supports the OpenStack Neutron releases with open source networking components through Neutron. It delivers higher compute and storage performance and additional functionalities, such as NIC based switching to provide better security and isolation for virtual cloud environments.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet SR-IOV ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Ocata !! Newton !! Mitaka !! Liberty !! Kilo !! Juno&lt;br /&gt;
|-&lt;br /&gt;
|   || [https://wiki.openstack.org/wiki/Mellanox-Neutron-Newton-Ethernet SR-IOV] ||   [https://wiki.openstack.org/wiki/Mellanox-Neutron-Mitaka-Ethernet SR-IOV]  || [https://wiki.openstack.org/wiki/Mellanox-Neutron-Liberty-Ethernet SR-IOV]  || [https://wiki.openstack.org/wiki/Mellanox-Neutron-Kilo-Ethernet SR-IOV] ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Juno-Ethernet SR-IOV]&lt;br /&gt;
|-&lt;br /&gt;
|  || [http://docs.openstack.org/liberty/networking-guide/adv-config-qos.html QOS] ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  || [https://community.mellanox.com/docs/DOC-2612 VF LAG] ||  || ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  || [https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking#FDB_L2_Agent_Extension FDB] ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Infiniband SR-IOV===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Ocata !! Newton !! Mitaka !! Liberty !! Kilo !! Juno&lt;br /&gt;
|-&lt;br /&gt;
|   || [https://wiki.openstack.org/wiki/Mellanox-Neutron-Newton-InfiniBand SR-IOV] ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Mitaka-InfiniBand SR-IOV]  ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Liberty-InfiniBand SR-IOV]  ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Kilo-InfiniBand SR-IOV]  ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Juno-InfiniBand SR-IOV] &lt;br /&gt;
|-&lt;br /&gt;
|  || [https://community.mellanox.com/docs/DOC-2155 NEO SDN Mechanism]  || [https://community.mellanox.com/docs/DOC-2155 NEO SDN Mechanism] || [https://community.mellanox.com/docs/DOC-2155 NEO SDN Mechanism] |||| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mellanox Cinder Plugin =&lt;br /&gt;
Mellanox provides an OpenStack Storage plugin that enables running storage volume traffic over native RDMA transport, providing five-fold faster throughput over standard TCP/IP, while significantly increasing infrastructure efficiency by using less CPU resources.&lt;br /&gt;
&lt;br /&gt;
For additional information about Mellanox Cinder, refer to [https://wiki.openstack.org/wiki/Mellanox-Cinder Mellanox Cinder] wiki page.&lt;br /&gt;
&lt;br /&gt;
= Mellanox Ironic =&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. [http://www.mellanox.com/openstack/ OpenStack solution page at Mellanox site]&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/mellanox-openstack Source repository]&lt;br /&gt;
&lt;br /&gt;
3. [http://www.mellanox.com/page/products_dyn?product_family=26 Mellanox OFED web page]&lt;br /&gt;
&lt;br /&gt;
4. [http://community.mellanox.com/community/solutions Mellanox Community]&lt;br /&gt;
&lt;br /&gt;
5. [https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking SR-IOV Passthrough for Networking]&lt;br /&gt;
&lt;br /&gt;
For more details, please refer your question to  [mailto:support@mellanox.com support@mellanox.com]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-OpenStack&amp;diff=136873</id>
		<title>Mellanox-OpenStack</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-OpenStack&amp;diff=136873"/>
				<updated>2016-10-30T11:34:33Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Mellanox Neutron Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Mellanox Neutron Plugin  =&lt;br /&gt;
Mellanox supports the OpenStack Neutron releases with open source networking components through Neutron. It delivers higher compute and storage performance and additional functionalities, such as NIC based switching to provide better security and isolation for virtual cloud environments.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet SR-IOV ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Ocata !! Newton !! Mitaka !! Liberty !! Kilo !! Juno&lt;br /&gt;
|-&lt;br /&gt;
|   || [https://wiki.openstack.org/wiki/Mellanox-Neutron-Newton-Ethernet SR-IOV] ||   [https://wiki.openstack.org/wiki/Mellanox-Neutron-Mitaka-Ethernet SR-IOV]  || [https://wiki.openstack.org/wiki/Mellanox-Neutron-Liberty-Ethernet SR-IOV]  || [https://wiki.openstack.org/wiki/Mellanox-Neutron-Kilo-Ethernet SR-IOV] ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Juno-Ethernet SR-IOV]&lt;br /&gt;
|-&lt;br /&gt;
|  || [http://docs.openstack.org/liberty/networking-guide/adv-config-qos.html QOS] ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  || [https://community.mellanox.com/docs/DOC-2612 VF LAG] ||  || ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  || [https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking#FDB_L2_Agent_Extension FDB] ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Infiniband SR-IOV===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Ocata !! Newton !! Mitaka !! Liberty !! Kilo !! Juno&lt;br /&gt;
|-&lt;br /&gt;
|   || [https://wiki.openstack.org/wiki/Mellanox-Neutron-Newton-InfiniBand SR-IOV] ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Mitaka-InfiniBand SR-IOV]  ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Liberty-InfiniBand SR-IOV]  ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Kilo-InfiniBand SR-IOV]  ||  [https://wiki.openstack.org/wiki/Mellanox-Neutron-Juno-InfiniBand SR-IOV] &lt;br /&gt;
|-&lt;br /&gt;
|  || [https://community.mellanox.com/docs/DOC-2155 NEO SDN Mechanism]  || [https://community.mellanox.com/docs/DOC-2155 NEO SDN Mechanism] || [https://community.mellanox.com/docs/DOC-2155 NEO SDN Mechanism] |||| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mellanox Cinder Plugin =&lt;br /&gt;
Mellanox provides an OpenStack Storage plugin that enables running storage volume traffic over native RDMA transport, providing 5X faster throughput over standard TCP/IP, while significantly increasing infrastructure efficiency by using less CPU resources.&lt;br /&gt;
&lt;br /&gt;
For additional information about Mellanox Cinder refer to [https://wiki.openstack.org/wiki/Mellanox-Cinder Mellanox Cinder] wiki page.&lt;br /&gt;
&lt;br /&gt;
= Mellanox Ironic =&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
1. [http://www.mellanox.com/openstack/ OpenStack solution page at Mellanox site]&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/mellanox-openstack Source repository]&lt;br /&gt;
&lt;br /&gt;
3. [http://www.mellanox.com/page/products_dyn?product_family=26 Mellanox OFED web page]&lt;br /&gt;
&lt;br /&gt;
4. [http://community.mellanox.com/community/solutions Mellanox Community]&lt;br /&gt;
&lt;br /&gt;
5. [https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking SR-IOV Passthrough for Networking]&lt;br /&gt;
&lt;br /&gt;
For more details, please refer your question to  [mailto:support@mellanox.com support@mellanox.com]&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69188</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69188"/>
				<updated>2014-11-30T08:37:56Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Compute Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of Linux Bridge.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
&lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
To configure the Controller node: &lt;br /&gt;
&lt;br /&gt;
1. Ensure that the file /etc/nova/nova.conf includes the following line:&lt;br /&gt;
 security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
2. If the security group value is changed, restart the Nova services:&lt;br /&gt;
 # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
== Neutron Server Node ==&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan &lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
  &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
 &lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
To configure the Compute node:&lt;br /&gt;
&lt;br /&gt;
1. Create the file /etc/modprobe.d/mlx4_ib.conf with this line:&lt;br /&gt;
 options mlx4_ib sm_guid_assign=0&lt;br /&gt;
2. Download mlnxvif, eSwitch Daemon (eSwitchd), and mlnx-dnsmasq from this link:&lt;br /&gt;
 http://www.mellanox.com/downloads/solutions/openstack/icehouse/debian/&lt;br /&gt;
3. Install the Mellanox plugin services mlnxvif and eSwitchd:&lt;br /&gt;
 dpkg –i python-mlnxvif_2014.1.1-1_all.deb&lt;br /&gt;
 dpkg –i python-eswitchd_0.10-1_all.deb&lt;br /&gt;
4. Edit /etc/eswitchd/eswitchd.conf as follows:&lt;br /&gt;
 [DAEMON]&lt;br /&gt;
 fabrics=&amp;lt;physical_network&amp;gt;:&amp;lt;ib-interface&amp;gt; //(i.e. default:ib0)&lt;br /&gt;
5. Edit /etc/nova/nova.conf as follows:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 compute_driver = libvirt.LibvirtDriver&lt;br /&gt;
 libvirt_vif_driver = mlnxvif.vif.MlxEthVIFDriver&lt;br /&gt;
 security_group_api = nova&lt;br /&gt;
6. Check if “ebrctl” appears in one of Nova’s rootwrap files:&lt;br /&gt;
 grep 'ebrctl' /etc/nova/rootwrap.d/*&lt;br /&gt;
 If “ebrctl” does not appear in one of Nova’s rootwrap files, edit the file /etc/nova/rootwrap.d/compute.filter as follows:&lt;br /&gt;
 [Filters]&lt;br /&gt;
 ebrctl: CommandFilter, ebrctl, root&lt;br /&gt;
7. Install the Neutron Mellanox agent (from Ubuntu repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
8. Copy /etc/neutron/plugins/mlnx/mlnx_conf.ini from the Neutron Server node to the same path on each Compute node.&lt;br /&gt;
&lt;br /&gt;
9. Restart the following services:&lt;br /&gt;
 /etc/init.d/nova-compute restart&lt;br /&gt;
 /etc/init.d/eswitchd start&lt;br /&gt;
 /etc/init.d/neutron-plugin-mlnx-agent start&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
To configure the Network node: &lt;br /&gt;
&lt;br /&gt;
1. Configure eIPoIB (for Linux bridge plugin) by editing the file /etc/infiniband/openib.conf as follows:&lt;br /&gt;
 E_IPOIB_LOAD=yes&lt;br /&gt;
2. Restart OFED:  &lt;br /&gt;
 service openibd restart&lt;br /&gt;
3. Verify that the new Ethernet interfaces now appear with ibdev2netdev:&lt;br /&gt;
 # ibdev2netdev&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
 mlx4_0 port 2 ==&amp;gt; ib1 (Down)&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; eth2 (Up)&lt;br /&gt;
 mlx4_0 port 2 ==&amp;gt; eth1 (Down)&lt;br /&gt;
In eIPoIB, every ib interface has a matching eth interface. The ib interface used here is ib0, and the matching one is eth2 (same card and port names: mlx4_0 port 1). By using Ethtool, you can verify that ib0 is working on ib_ipoib driver, and eth2 is working on eth_ipoib driver, as follows:&lt;br /&gt;
 # ethtool -i ib0&lt;br /&gt;
 driver: ib_ipoib&lt;br /&gt;
 version: 2.3-1.5.4_Sep 30 2014&lt;br /&gt;
 firmware-version: 2.32.5100&lt;br /&gt;
 bus-info: 0000:07:00.0# ethtool -i eth2&lt;br /&gt;
 driver: eth_ipoib&lt;br /&gt;
 version: 2.3-1.5.4 (Sep 30 2014)&lt;br /&gt;
 firmware-version: 1&lt;br /&gt;
 bus-info: ib0&lt;br /&gt;
4. Edit /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini as follows:&lt;br /&gt;
 [linux_bridge] &lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth_ipoib-interface&amp;gt; &lt;br /&gt;
 //(i.e. default:eth2)&lt;br /&gt;
5. Restart the Linux bridge agent:&lt;br /&gt;
 service neutron-linuxbridge-agent restart&lt;br /&gt;
6. To allow DHCP support, download mlnx-dnsmadq from this link: http://www.mellanox.com/downloads/solutions/openstack/icehouse/debian/&lt;br /&gt;
&lt;br /&gt;
7. Install the package:&lt;br /&gt;
 dpkg –i python-mlnx-dnsmasq_2014.1.1-1_all.deb&lt;br /&gt;
8. Configure the file /etc/neutron/dhcp_agent.ini:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 dhcp_driver = mlnx_dhcp.MlnxDnsmasq&lt;br /&gt;
9. Make sure that the Dnsmasq which is installed as a part of the OpenStack (not mlnx-dnsmasq) environment is of version 2.65.&lt;br /&gt;
&lt;br /&gt;
10. Copy /etc/neutron/neutron.conf from the Compute node to the same path on the Network node.&lt;br /&gt;
&lt;br /&gt;
11. Edit /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini as follows:&lt;br /&gt;
 [linux_bridge]  &lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth_ipoib interface&amp;gt; &lt;br /&gt;
 (i.e. default:eth2)&lt;br /&gt;
12. Edit /etc/neutron/dhcp_agent.ini and /etc/neutron/l3_agent.ini as follows: &lt;br /&gt;
 [DEFAULT] &lt;br /&gt;
 interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver&lt;br /&gt;
13. Restart the following services:&lt;br /&gt;
 service neutron-plugin-linuxbridge-agent restart&lt;br /&gt;
 service neutron-dhcp-agent restart&lt;br /&gt;
 service neutron-l3-agent restart&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69187</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69187"/>
				<updated>2014-11-30T08:36:27Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Compute Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of Linux Bridge.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
&lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
To configure the Controller node: &lt;br /&gt;
&lt;br /&gt;
1. Ensure that the file /etc/nova/nova.conf includes the following line:&lt;br /&gt;
 security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
2. If the security group value is changed, restart the Nova services:&lt;br /&gt;
 # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
== Neutron Server Node ==&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan &lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
  &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
 &lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
To configure the Compute node:&lt;br /&gt;
1. Create the file /etc/modprobe.d/mlx4_ib.conf with this line:&lt;br /&gt;
 options mlx4_ib sm_guid_assign=0&lt;br /&gt;
2. Download mlnxvif, eSwitch Daemon (eSwitchd), and mlnx-dnsmasq from this link:&lt;br /&gt;
 http://www.mellanox.com/downloads/solutions/openstack/icehouse/debian/&lt;br /&gt;
3. Install the Mellanox plugin services mlnxvif and eSwitchd:&lt;br /&gt;
 dpkg –i python-mlnxvif_2014.1.1-1_all.deb&lt;br /&gt;
 dpkg –i python-eswitchd_0.10-1_all.deb&lt;br /&gt;
4. Edit /etc/eswitchd/eswitchd.conf as follows:&lt;br /&gt;
 [DAEMON]&lt;br /&gt;
 fabrics=&amp;lt;physical_network&amp;gt;:&amp;lt;ib-interface&amp;gt; //(i.e. default:ib0)&lt;br /&gt;
5. Edit /etc/nova/nova.conf as follows:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 compute_driver = libvirt.LibvirtDriver&lt;br /&gt;
 libvirt_vif_driver = mlnxvif.vif.MlxEthVIFDriver&lt;br /&gt;
 security_group_api = nova&lt;br /&gt;
6. Check if “ebrctl” appears in one of Nova’s rootwrap files:&lt;br /&gt;
 grep 'ebrctl' /etc/nova/rootwrap.d/*&lt;br /&gt;
 If “ebrctl” does not appear in one of Nova’s rootwrap files, edit the file /etc/nova/rootwrap.d/compute.filter as follows:&lt;br /&gt;
 [Filters]&lt;br /&gt;
 ebrctl: CommandFilter, ebrctl, root&lt;br /&gt;
7. Install the Neutron Mellanox agent (from Ubuntu repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
8. Copy /etc/neutron/plugins/mlnx/mlnx_conf.ini from the Neutron Server node to the same path on each Compute node.&lt;br /&gt;
9. Restart the following services:&lt;br /&gt;
 /etc/init.d/nova-compute restart&lt;br /&gt;
 /etc/init.d/eswitchd start&lt;br /&gt;
 /etc/init.d/neutron-plugin-mlnx-agent start&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
To configure the Network node: &lt;br /&gt;
&lt;br /&gt;
1. Configure eIPoIB (for Linux bridge plugin) by editing the file /etc/infiniband/openib.conf as follows:&lt;br /&gt;
 E_IPOIB_LOAD=yes&lt;br /&gt;
2. Restart OFED:  &lt;br /&gt;
 service openibd restart&lt;br /&gt;
3. Verify that the new Ethernet interfaces now appear with ibdev2netdev:&lt;br /&gt;
 # ibdev2netdev&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
 mlx4_0 port 2 ==&amp;gt; ib1 (Down)&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; eth2 (Up)&lt;br /&gt;
 mlx4_0 port 2 ==&amp;gt; eth1 (Down)&lt;br /&gt;
In eIPoIB, every ib interface has a matching eth interface. The ib interface used here is ib0, and the matching one is eth2 (same card and port names: mlx4_0 port 1). By using Ethtool, you can verify that ib0 is working on ib_ipoib driver, and eth2 is working on eth_ipoib driver, as follows:&lt;br /&gt;
 # ethtool -i ib0&lt;br /&gt;
 driver: ib_ipoib&lt;br /&gt;
 version: 2.3-1.5.4_Sep 30 2014&lt;br /&gt;
 firmware-version: 2.32.5100&lt;br /&gt;
 bus-info: 0000:07:00.0# ethtool -i eth2&lt;br /&gt;
 driver: eth_ipoib&lt;br /&gt;
 version: 2.3-1.5.4 (Sep 30 2014)&lt;br /&gt;
 firmware-version: 1&lt;br /&gt;
 bus-info: ib0&lt;br /&gt;
4. Edit /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini as follows:&lt;br /&gt;
 [linux_bridge] &lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth_ipoib-interface&amp;gt; &lt;br /&gt;
 //(i.e. default:eth2)&lt;br /&gt;
5. Restart the Linux bridge agent:&lt;br /&gt;
 service neutron-linuxbridge-agent restart&lt;br /&gt;
6. To allow DHCP support, download mlnx-dnsmadq from this link: http://www.mellanox.com/downloads/solutions/openstack/icehouse/debian/&lt;br /&gt;
&lt;br /&gt;
7. Install the package:&lt;br /&gt;
 dpkg –i python-mlnx-dnsmasq_2014.1.1-1_all.deb&lt;br /&gt;
8. Configure the file /etc/neutron/dhcp_agent.ini:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 dhcp_driver = mlnx_dhcp.MlnxDnsmasq&lt;br /&gt;
9. Make sure that the Dnsmasq which is installed as a part of the OpenStack (not mlnx-dnsmasq) environment is of version 2.65.&lt;br /&gt;
&lt;br /&gt;
10. Copy /etc/neutron/neutron.conf from the Compute node to the same path on the Network node.&lt;br /&gt;
&lt;br /&gt;
11. Edit /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini as follows:&lt;br /&gt;
 [linux_bridge]  &lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth_ipoib interface&amp;gt; &lt;br /&gt;
 (i.e. default:eth2)&lt;br /&gt;
12. Edit /etc/neutron/dhcp_agent.ini and /etc/neutron/l3_agent.ini as follows: &lt;br /&gt;
 [DEFAULT] &lt;br /&gt;
 interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver&lt;br /&gt;
13. Restart the following services:&lt;br /&gt;
 service neutron-plugin-linuxbridge-agent restart&lt;br /&gt;
 service neutron-dhcp-agent restart&lt;br /&gt;
 service neutron-l3-agent restart&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69186</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69186"/>
				<updated>2014-11-30T08:34:56Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Neutron Server Node */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of Linux Bridge.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
&lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
To configure the Controller node: &lt;br /&gt;
&lt;br /&gt;
1. Ensure that the file /etc/nova/nova.conf includes the following line:&lt;br /&gt;
 security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
2. If the security group value is changed, restart the Nova services:&lt;br /&gt;
 # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
== Neutron Server Node ==&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan &lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
  &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
 &lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan&lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
 &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
&lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
To configure the Network node: &lt;br /&gt;
&lt;br /&gt;
1. Configure eIPoIB (for Linux bridge plugin) by editing the file /etc/infiniband/openib.conf as follows:&lt;br /&gt;
 E_IPOIB_LOAD=yes&lt;br /&gt;
2. Restart OFED:  &lt;br /&gt;
 service openibd restart&lt;br /&gt;
3. Verify that the new Ethernet interfaces now appear with ibdev2netdev:&lt;br /&gt;
 # ibdev2netdev&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
 mlx4_0 port 2 ==&amp;gt; ib1 (Down)&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; eth2 (Up)&lt;br /&gt;
 mlx4_0 port 2 ==&amp;gt; eth1 (Down)&lt;br /&gt;
In eIPoIB, every ib interface has a matching eth interface. The ib interface used here is ib0, and the matching one is eth2 (same card and port names: mlx4_0 port 1). By using Ethtool, you can verify that ib0 is working on ib_ipoib driver, and eth2 is working on eth_ipoib driver, as follows:&lt;br /&gt;
 # ethtool -i ib0&lt;br /&gt;
 driver: ib_ipoib&lt;br /&gt;
 version: 2.3-1.5.4_Sep 30 2014&lt;br /&gt;
 firmware-version: 2.32.5100&lt;br /&gt;
 bus-info: 0000:07:00.0# ethtool -i eth2&lt;br /&gt;
 driver: eth_ipoib&lt;br /&gt;
 version: 2.3-1.5.4 (Sep 30 2014)&lt;br /&gt;
 firmware-version: 1&lt;br /&gt;
 bus-info: ib0&lt;br /&gt;
4. Edit /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini as follows:&lt;br /&gt;
 [linux_bridge] &lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth_ipoib-interface&amp;gt; &lt;br /&gt;
 //(i.e. default:eth2)&lt;br /&gt;
5. Restart the Linux bridge agent:&lt;br /&gt;
 service neutron-linuxbridge-agent restart&lt;br /&gt;
6. To allow DHCP support, download mlnx-dnsmadq from this link: http://www.mellanox.com/downloads/solutions/openstack/icehouse/debian/&lt;br /&gt;
&lt;br /&gt;
7. Install the package:&lt;br /&gt;
 dpkg –i python-mlnx-dnsmasq_2014.1.1-1_all.deb&lt;br /&gt;
8. Configure the file /etc/neutron/dhcp_agent.ini:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 dhcp_driver = mlnx_dhcp.MlnxDnsmasq&lt;br /&gt;
9. Make sure that the Dnsmasq which is installed as a part of the OpenStack (not mlnx-dnsmasq) environment is of version 2.65.&lt;br /&gt;
&lt;br /&gt;
10. Copy /etc/neutron/neutron.conf from the Compute node to the same path on the Network node.&lt;br /&gt;
&lt;br /&gt;
11. Edit /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini as follows:&lt;br /&gt;
 [linux_bridge]  &lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth_ipoib interface&amp;gt; &lt;br /&gt;
 (i.e. default:eth2)&lt;br /&gt;
12. Edit /etc/neutron/dhcp_agent.ini and /etc/neutron/l3_agent.ini as follows: &lt;br /&gt;
 [DEFAULT] &lt;br /&gt;
 interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver&lt;br /&gt;
13. Restart the following services:&lt;br /&gt;
 service neutron-plugin-linuxbridge-agent restart&lt;br /&gt;
 service neutron-dhcp-agent restart&lt;br /&gt;
 service neutron-l3-agent restart&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69079</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69079"/>
				<updated>2014-11-26T16:54:20Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Network Node */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
&lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
To configure the Controller node: &lt;br /&gt;
&lt;br /&gt;
1. Ensure that the file /etc/nova/nova.conf includes the following line:&lt;br /&gt;
 security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
2. If the security group value is changed, restart the Nova services:&lt;br /&gt;
 # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
=== Neutron Server Node ===&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan &lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
  &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
 &lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan&lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
 &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
&lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
To configure the Network node: &lt;br /&gt;
&lt;br /&gt;
1. Configure eIPoIB (for Linux bridge plugin) by editing the file /etc/infiniband/openib.conf as follows:&lt;br /&gt;
 E_IPOIB_LOAD=yes&lt;br /&gt;
2. Restart OFED:  &lt;br /&gt;
 service openibd restart&lt;br /&gt;
3. Verify that the new Ethernet interfaces now appear with ibdev2netdev:&lt;br /&gt;
 # ibdev2netdev&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
 mlx4_0 port 2 ==&amp;gt; ib1 (Down)&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; eth2 (Up)&lt;br /&gt;
 mlx4_0 port 2 ==&amp;gt; eth1 (Down)&lt;br /&gt;
In eIPoIB, every ib interface has a matching eth interface. The ib interface used here is ib0, and the matching one is eth2 (same card and port names: mlx4_0 port 1). By using Ethtool, you can verify that ib0 is working on ib_ipoib driver, and eth2 is working on eth_ipoib driver, as follows:&lt;br /&gt;
 # ethtool -i ib0&lt;br /&gt;
 driver: ib_ipoib&lt;br /&gt;
 version: 2.3-1.5.4_Sep 30 2014&lt;br /&gt;
 firmware-version: 2.32.5100&lt;br /&gt;
 bus-info: 0000:07:00.0# ethtool -i eth2&lt;br /&gt;
 driver: eth_ipoib&lt;br /&gt;
 version: 2.3-1.5.4 (Sep 30 2014)&lt;br /&gt;
 firmware-version: 1&lt;br /&gt;
 bus-info: ib0&lt;br /&gt;
4. Edit /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini as follows:&lt;br /&gt;
 [linux_bridge] &lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth_ipoib-interface&amp;gt; &lt;br /&gt;
 //(i.e. default:eth2)&lt;br /&gt;
5. Restart the Linux bridge agent:&lt;br /&gt;
 service neutron-linuxbridge-agent restart&lt;br /&gt;
6. To allow DHCP support, download mlnx-dnsmadq from this link: http://www.mellanox.com/downloads/solutions/openstack/icehouse/debian/&lt;br /&gt;
&lt;br /&gt;
7. Install the package:&lt;br /&gt;
 dpkg –i python-mlnx-dnsmasq_2014.1.1-1_all.deb&lt;br /&gt;
8. Configure the file /etc/neutron/dhcp_agent.ini:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 dhcp_driver = mlnx_dhcp.MlnxDnsmasq&lt;br /&gt;
9. Make sure that the Dnsmasq which is installed as a part of the OpenStack (not mlnx-dnsmasq) environment is of version 2.65.&lt;br /&gt;
&lt;br /&gt;
10. Copy /etc/neutron/neutron.conf from the Compute node to the same path on the Network node.&lt;br /&gt;
&lt;br /&gt;
11. Edit /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini as follows:&lt;br /&gt;
 [linux_bridge]  &lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth_ipoib interface&amp;gt; &lt;br /&gt;
 (i.e. default:eth2)&lt;br /&gt;
12. Edit /etc/neutron/dhcp_agent.ini and /etc/neutron/l3_agent.ini as follows: &lt;br /&gt;
 [DEFAULT] &lt;br /&gt;
 interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver&lt;br /&gt;
13. Restart the following services:&lt;br /&gt;
 service neutron-plugin-linuxbridge-agent restart&lt;br /&gt;
 service neutron-dhcp-agent restart&lt;br /&gt;
 service neutron-l3-agent restart&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69078</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69078"/>
				<updated>2014-11-26T16:53:45Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Network Node */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
&lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
To configure the Controller node: &lt;br /&gt;
&lt;br /&gt;
1. Ensure that the file /etc/nova/nova.conf includes the following line:&lt;br /&gt;
 security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
2. If the security group value is changed, restart the Nova services:&lt;br /&gt;
 # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
=== Neutron Server Node ===&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan &lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
  &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
 &lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan&lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
 &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
&lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
To configure the Network node: &lt;br /&gt;
&lt;br /&gt;
1. Configure eIPoIB (for Linux bridge plugin) by editing the file /etc/infiniband/openib.conf as follows:&lt;br /&gt;
 E_IPOIB_LOAD=yes&lt;br /&gt;
2. Restart OFED:  &lt;br /&gt;
 service openibd restart&lt;br /&gt;
3. Verify that the new Ethernet interfaces now appear with ibdev2netdev:&lt;br /&gt;
 # ibdev2netdev&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
 mlx4_0 port 2 ==&amp;gt; ib1 (Down)&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; eth2 (Up)&lt;br /&gt;
 mlx4_0 port 2 ==&amp;gt; eth1 (Down)&lt;br /&gt;
In eIPoIB, every ib interface has a matching eth interface. The ib interface used here is ib0, and the matching one is eth2 (same card and port names: mlx4_0 port 1). By using Ethtool, you can verify that ib0 is working on ib_ipoib driver, and eth2 is working on eth_ipoib driver, as follows:&lt;br /&gt;
 # ethtool -i ib0&lt;br /&gt;
 driver: ib_ipoib&lt;br /&gt;
 version: 2.3-1.5.4_Sep 30 2014&lt;br /&gt;
 firmware-version: 2.32.5100&lt;br /&gt;
 bus-info: 0000:07:00.0# ethtool -i eth2&lt;br /&gt;
 driver: eth_ipoib&lt;br /&gt;
 version: 2.3-1.5.4 (Sep 30 2014)&lt;br /&gt;
 firmware-version: 1&lt;br /&gt;
 bus-info: ib0&lt;br /&gt;
4. Edit /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini as follows:&lt;br /&gt;
 [linux_bridge] &lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth_ipoib-interface&amp;gt; &lt;br /&gt;
 //(i.e. default:eth2)&lt;br /&gt;
5. Restart the Linux bridge agent:&lt;br /&gt;
 service neutron-linuxbridge-agent restart&lt;br /&gt;
6. To allow DHCP support, download mlnx-dnsmadq from this link: http://www.mellanox.com/downloads/solutions/openstack/icehouse/debian/&lt;br /&gt;
&lt;br /&gt;
7. Install the package:&lt;br /&gt;
 dpkg –i python-mlnx-dnsmasq_2014.1.1-1_all.deb&lt;br /&gt;
8. Configure the file /etc/neutron/dhcp_agent.ini:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 dhcp_driver = mlnx_dhcp.MlnxDnsmasq&lt;br /&gt;
9. Make sure that the Dnsmasq which is installed as a part of the OpenStack (not mlnx-dnsmasq) environment is of version 2.65.&lt;br /&gt;
10. Copy /etc/neutron/neutron.conf from the Compute node to the same path on the Network node.&lt;br /&gt;
11. Edit /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini as follows:&lt;br /&gt;
 [linux_bridge]  &lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth_ipoib interface&amp;gt; &lt;br /&gt;
 (i.e. default:eth2)&lt;br /&gt;
12. Edit /etc/neutron/dhcp_agent.ini and /etc/neutron/l3_agent.ini as follows: &lt;br /&gt;
 [DEFAULT] &lt;br /&gt;
 interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver&lt;br /&gt;
13. Restart the following services:&lt;br /&gt;
 service neutron-plugin-linuxbridge-agent restart&lt;br /&gt;
 service neutron-dhcp-agent restart&lt;br /&gt;
 service neutron-l3-agent restart&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69077</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69077"/>
				<updated>2014-11-26T16:52:48Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Network Node */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
&lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
To configure the Controller node: &lt;br /&gt;
&lt;br /&gt;
1. Ensure that the file /etc/nova/nova.conf includes the following line:&lt;br /&gt;
 security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
2. If the security group value is changed, restart the Nova services:&lt;br /&gt;
 # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
=== Neutron Server Node ===&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan &lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
  &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
 &lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan&lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
 &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
&lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
To configure the Network node: &lt;br /&gt;
&lt;br /&gt;
1. Configure eIPoIB (for Linux bridge plugin) by editing the file /etc/infiniband/openib.conf as follows:&lt;br /&gt;
 E_IPOIB_LOAD=yes&lt;br /&gt;
2. Restart OFED:  &lt;br /&gt;
 service openibd restart&lt;br /&gt;
3. Verify that the new Ethernet interfaces now appear with ibdev2netdev:&lt;br /&gt;
 # ibdev2netdev&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
 mlx4_0 port 2 ==&amp;gt; ib1 (Down)&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; eth2 (Up)&lt;br /&gt;
 mlx4_0 port 2 ==&amp;gt; eth1 (Down)&lt;br /&gt;
In eIPoIB, every ib interface has a matching eth interface. The ib interface used here is ib0, and the matching one is eth2 (same card and port names: mlx4_0 port 1). By using Ethtool, you can verify that ib0 is working on ib_ipoib driver, and eth2 is working on eth_ipoib driver, as follows:&lt;br /&gt;
 # ethtool -i ib0&lt;br /&gt;
 driver: ib_ipoib&lt;br /&gt;
 version: 2.3-1.5.4_Sep 30 2014&lt;br /&gt;
 firmware-version: 2.32.5100&lt;br /&gt;
 bus-info: 0000:07:00.0# ethtool -i eth2&lt;br /&gt;
 driver: eth_ipoib&lt;br /&gt;
 version: 2.3-1.5.4 (Sep 30 2014)&lt;br /&gt;
 firmware-version: 1&lt;br /&gt;
 bus-info: ib0&lt;br /&gt;
4. Edit /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini as follows:&lt;br /&gt;
 [linux_bridge] &lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth_ipoib-interface&amp;gt; &lt;br /&gt;
 //(i.e. default:eth2)&lt;br /&gt;
5. Restart the Linux bridge agent:&lt;br /&gt;
 service neutron-linuxbridge-agent restart&lt;br /&gt;
6. To allow DHCP support, download mlnx-dnsmadq from this link: http://www.mellanox.com/downloads/solutions/openstack/icehouse/debian/&lt;br /&gt;
7. Install the package:&lt;br /&gt;
 dpkg –i python-mlnx-dnsmasq_2014.1.1-1_all.deb&lt;br /&gt;
8. Configure the file /etc/neutron/dhcp_agent.ini:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 dhcp_driver = mlnx_dhcp.MlnxDnsmasq&lt;br /&gt;
9. Make sure that the Dnsmasq which is installed as a part of the OpenStack (not mlnx-dnsmasq) environment is of version 2.65.&lt;br /&gt;
10. Copy /etc/neutron/neutron.conf from the Compute node to the same path on the Network node.&lt;br /&gt;
11. Edit /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini as follows:&lt;br /&gt;
 [linux_bridge]  &lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth_ipoib interface&amp;gt; &lt;br /&gt;
 (i.e. default:eth2)&lt;br /&gt;
12. Edit /etc/neutron/dhcp_agent.ini and /etc/neutron/l3_agent.ini as follows: &lt;br /&gt;
 [DEFAULT] &lt;br /&gt;
 interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver&lt;br /&gt;
13. Restart the following services:&lt;br /&gt;
 service neutron-plugin-linuxbridge-agent restart&lt;br /&gt;
 service neutron-dhcp-agent restart&lt;br /&gt;
 service neutron-l3-agent restart&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69076</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69076"/>
				<updated>2014-11-26T16:50:51Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Compute Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
&lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
To configure the Controller node: &lt;br /&gt;
&lt;br /&gt;
1. Ensure that the file /etc/nova/nova.conf includes the following line:&lt;br /&gt;
 security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
2. If the security group value is changed, restart the Nova services:&lt;br /&gt;
 # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
=== Neutron Server Node ===&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan &lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
  &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
 &lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan&lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
 &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
&lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
1. Install the Neutron Linux bridge plugin, the Neutron DHCP agent and the Neutron L3 agent:&lt;br /&gt;
&lt;br /&gt;
  # apt-get install neutron-plugin-linuxbridge-agent neutron-dhcp-agent neutron-l3-agent&lt;br /&gt;
&lt;br /&gt;
2. Copy /etc/neutron/neutron.conf from the Compute node.&lt;br /&gt;
&lt;br /&gt;
3. Change the following configuration of the ini file (/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini). The &amp;quot;default&amp;quot; in the example is the name of the physical network as configured in /etc/neutron/plugins/mlnx/mlnx_conf.ini . &lt;br /&gt;
   [linux_bridge]  &lt;br /&gt;
   physical_interface_mappings = default:eth2 &lt;br /&gt;
&lt;br /&gt;
4. Configure the DHCP agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/dhcp_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_dhcp_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
5. Configure the L3 agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/l3_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_l3_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
6. Configure the Metadata agent according to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#nova_config_metadata OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
7. Start the Neutron Linux Bridge, DHCP and L3 agents &lt;br /&gt;
  # restart neutron-plugin-linuxbridge-agent&lt;br /&gt;
  # restart neutron-dhcp-agent&lt;br /&gt;
  # restart neutron-l3-agent&lt;br /&gt;
  # restart neutron-metadata-agent&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69075</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69075"/>
				<updated>2014-11-26T16:50:38Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Compute Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
&lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
To configure the Controller node: &lt;br /&gt;
&lt;br /&gt;
1. Ensure that the file /etc/nova/nova.conf includes the following line:&lt;br /&gt;
 security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
2. If the security group value is changed, restart the Nova services:&lt;br /&gt;
 # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
=== Neutron Server Node ===&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan &lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
  &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
 &lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan&lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
 &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
&lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
1. Install the Neutron Linux bridge plugin, the Neutron DHCP agent and the Neutron L3 agent:&lt;br /&gt;
&lt;br /&gt;
  # apt-get install neutron-plugin-linuxbridge-agent neutron-dhcp-agent neutron-l3-agent&lt;br /&gt;
&lt;br /&gt;
2. Copy /etc/neutron/neutron.conf from the Compute node.&lt;br /&gt;
&lt;br /&gt;
3. Change the following configuration of the ini file (/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini). The &amp;quot;default&amp;quot; in the example is the name of the physical network as configured in /etc/neutron/plugins/mlnx/mlnx_conf.ini . &lt;br /&gt;
   [linux_bridge]  &lt;br /&gt;
   physical_interface_mappings = default:eth2 &lt;br /&gt;
&lt;br /&gt;
4. Configure the DHCP agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/dhcp_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_dhcp_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
5. Configure the L3 agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/l3_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_l3_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
6. Configure the Metadata agent according to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#nova_config_metadata OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
7. Start the Neutron Linux Bridge, DHCP and L3 agents &lt;br /&gt;
  # restart neutron-plugin-linuxbridge-agent&lt;br /&gt;
  # restart neutron-dhcp-agent&lt;br /&gt;
  # restart neutron-l3-agent&lt;br /&gt;
  # restart neutron-metadata-agent&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69074</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69074"/>
				<updated>2014-11-26T16:48:56Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Neutron Server Node */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
&lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
To configure the Controller node: &lt;br /&gt;
&lt;br /&gt;
1. Ensure that the file /etc/nova/nova.conf includes the following line:&lt;br /&gt;
 security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
2. If the security group value is changed, restart the Nova services:&lt;br /&gt;
 # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
=== Neutron Server Node ===&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan &lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
  &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
 &lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
1. If you didn't download Mellanox OpenStack debian files download it : &lt;br /&gt;
&lt;br /&gt;
http://www.mellanox.com/downloads/solutions/openstack/&lt;br /&gt;
&lt;br /&gt;
2. Install the eswitchd debian files: &lt;br /&gt;
   dpkg -i eswitchd_0.8-1_amd64.deb&lt;br /&gt;
   dpkg -i python-mlnxvif_0.6-1_all.deb&lt;br /&gt;
   apt-get install -f # fix dependencies&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. In case you would like to use Ethernet in para-virtualized mode the VIF driver is already included in Nova package. Otherwise, Install Mellanox VIF driver (Make sure nova is installed on your server)&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
&lt;br /&gt;
1. Configure /etc/eswitchd/eswitchd.conf if needed &lt;br /&gt;
&lt;br /&gt;
Please Refer to Mellanox Community for the eSwitchd installation notes ( click [http://community.mellanox.com/docs/DOC-1126 here]) &lt;br /&gt;
&lt;br /&gt;
2. Modify /etc/nova/nova.conf &lt;br /&gt;
&lt;br /&gt;
   compute_driver=nova.virt.libvirt.driver.LibvirtDriver&lt;br /&gt;
   libvirt_vif_driver=mlnxvif.vif.MlxEthVIFDriver&lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
   connection_type=libvirt&lt;br /&gt;
&lt;br /&gt;
In case you didn't install the Mellanox VIF driver, and you plan to use Ethernet only in paravirtualized ,mode: change the following: &lt;br /&gt;
&lt;br /&gt;
   libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
  [AGENT]&lt;br /&gt;
  rpc_support_old_agents = True&lt;br /&gt;
  [ESWITCH]&lt;br /&gt;
   physical_interface_mapping -  the network_interface_mappings maps each physical network name to the physical interface (on top of Mellanox Adapter) connecting the node to that physical network. The format of this paramter is:     &amp;lt;fabric name&amp;gt;:&amp;lt; PF name&amp;gt; (Only releavant on Compute node). PF Name can either be the PF (Physical Function) Name or 'autoeth' for automatic Ethernet configuration,'autoib' for automatic Infiniband configuration.The default is  &amp;quot;default:autoeth&amp;quot;.  &lt;br /&gt;
   vnic_type - type of VM network interface: 'mlnx_direct' or 'hostdev'  according to libvirt terminology.&lt;br /&gt;
        hostdev: this is the traditional method of assigning any generic PCI device to a guest (SR-IOV).&lt;br /&gt;
        mlnx_direct: this is a method to provide macvtap device on top of the PCI device (default).&lt;br /&gt;
        bridge:  - When using Linux Bridge Plugin on top of eIPoIB device&lt;br /&gt;
   daemon_endpoint - 'tcp://127.0.0.1:60001'&lt;br /&gt;
&lt;br /&gt;
For a plugin configuration file example (Havana), please refer to Mellanox config *ini file (click [https://github.com/openstack/neutron/blob/stable/havana/etc/neutron/plugins/mlnx/mlnx_conf.ini here])&lt;br /&gt;
&lt;br /&gt;
4. (Optional) Modify /etc/init/neutron-plugin-mlnx-agent.conf as described in LP bug #[https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1257732 1257732]&lt;br /&gt;
&lt;br /&gt;
5. Check that ebrctl is listed somewhere in /etc/nova/rootwrap.d/*, otherwise add this to /etc/nova/rootwrap.d/compute.filters file in the [Filters] section.&lt;br /&gt;
  ebrctl: CommandFilter, ebrctl, root&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
1. Restart Nova. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/nova-compute restart&lt;br /&gt;
&lt;br /&gt;
2. Start eswitch Daemon &lt;br /&gt;
&lt;br /&gt;
   #/etc/init.d/eswitchd start&lt;br /&gt;
&lt;br /&gt;
3. Start the Neutron agent &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-plugin-mlnx-agent start&lt;br /&gt;
&lt;br /&gt;
Note: eswitch Daemon should be running before the Neutron Agent is started.&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
1. Install the Neutron Linux bridge plugin, the Neutron DHCP agent and the Neutron L3 agent:&lt;br /&gt;
&lt;br /&gt;
  # apt-get install neutron-plugin-linuxbridge-agent neutron-dhcp-agent neutron-l3-agent&lt;br /&gt;
&lt;br /&gt;
2. Copy /etc/neutron/neutron.conf from the Compute node.&lt;br /&gt;
&lt;br /&gt;
3. Change the following configuration of the ini file (/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini). The &amp;quot;default&amp;quot; in the example is the name of the physical network as configured in /etc/neutron/plugins/mlnx/mlnx_conf.ini . &lt;br /&gt;
   [linux_bridge]  &lt;br /&gt;
   physical_interface_mappings = default:eth2 &lt;br /&gt;
&lt;br /&gt;
4. Configure the DHCP agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/dhcp_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_dhcp_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
5. Configure the L3 agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/l3_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_l3_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
6. Configure the Metadata agent according to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#nova_config_metadata OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
7. Start the Neutron Linux Bridge, DHCP and L3 agents &lt;br /&gt;
  # restart neutron-plugin-linuxbridge-agent&lt;br /&gt;
  # restart neutron-dhcp-agent&lt;br /&gt;
  # restart neutron-l3-agent&lt;br /&gt;
  # restart neutron-metadata-agent&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69073</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69073"/>
				<updated>2014-11-26T16:48:24Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Neutron Server Node */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
&lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
To configure the Controller node: &lt;br /&gt;
&lt;br /&gt;
1. Ensure that the file /etc/nova/nova.conf includes the following line:&lt;br /&gt;
 security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
2. If the security group value is changed, restart the Nova services:&lt;br /&gt;
 # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
== Neutron Server Node ==&lt;br /&gt;
&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron Server node: &lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Edit the ML2 configuration file /etc/neutron/plugins/ml2/ml2_conf.ini as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan &lt;br /&gt;
 mechanism_drivers = linuxbridge,mlnx&lt;br /&gt;
  &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan&lt;br /&gt;
 &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;ib interface&amp;gt;  //(i.e. default:ib0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
 &lt;br /&gt;
5. Restart Neutron Server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
1. If you didn't download Mellanox OpenStack debian files download it : &lt;br /&gt;
&lt;br /&gt;
http://www.mellanox.com/downloads/solutions/openstack/&lt;br /&gt;
&lt;br /&gt;
2. Install the eswitchd debian files: &lt;br /&gt;
   dpkg -i eswitchd_0.8-1_amd64.deb&lt;br /&gt;
   dpkg -i python-mlnxvif_0.6-1_all.deb&lt;br /&gt;
   apt-get install -f # fix dependencies&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. In case you would like to use Ethernet in para-virtualized mode the VIF driver is already included in Nova package. Otherwise, Install Mellanox VIF driver (Make sure nova is installed on your server)&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
&lt;br /&gt;
1. Configure /etc/eswitchd/eswitchd.conf if needed &lt;br /&gt;
&lt;br /&gt;
Please Refer to Mellanox Community for the eSwitchd installation notes ( click [http://community.mellanox.com/docs/DOC-1126 here]) &lt;br /&gt;
&lt;br /&gt;
2. Modify /etc/nova/nova.conf &lt;br /&gt;
&lt;br /&gt;
   compute_driver=nova.virt.libvirt.driver.LibvirtDriver&lt;br /&gt;
   libvirt_vif_driver=mlnxvif.vif.MlxEthVIFDriver&lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
   connection_type=libvirt&lt;br /&gt;
&lt;br /&gt;
In case you didn't install the Mellanox VIF driver, and you plan to use Ethernet only in paravirtualized ,mode: change the following: &lt;br /&gt;
&lt;br /&gt;
   libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
  [AGENT]&lt;br /&gt;
  rpc_support_old_agents = True&lt;br /&gt;
  [ESWITCH]&lt;br /&gt;
   physical_interface_mapping -  the network_interface_mappings maps each physical network name to the physical interface (on top of Mellanox Adapter) connecting the node to that physical network. The format of this paramter is:     &amp;lt;fabric name&amp;gt;:&amp;lt; PF name&amp;gt; (Only releavant on Compute node). PF Name can either be the PF (Physical Function) Name or 'autoeth' for automatic Ethernet configuration,'autoib' for automatic Infiniband configuration.The default is  &amp;quot;default:autoeth&amp;quot;.  &lt;br /&gt;
   vnic_type - type of VM network interface: 'mlnx_direct' or 'hostdev'  according to libvirt terminology.&lt;br /&gt;
        hostdev: this is the traditional method of assigning any generic PCI device to a guest (SR-IOV).&lt;br /&gt;
        mlnx_direct: this is a method to provide macvtap device on top of the PCI device (default).&lt;br /&gt;
        bridge:  - When using Linux Bridge Plugin on top of eIPoIB device&lt;br /&gt;
   daemon_endpoint - 'tcp://127.0.0.1:60001'&lt;br /&gt;
&lt;br /&gt;
For a plugin configuration file example (Havana), please refer to Mellanox config *ini file (click [https://github.com/openstack/neutron/blob/stable/havana/etc/neutron/plugins/mlnx/mlnx_conf.ini here])&lt;br /&gt;
&lt;br /&gt;
4. (Optional) Modify /etc/init/neutron-plugin-mlnx-agent.conf as described in LP bug #[https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1257732 1257732]&lt;br /&gt;
&lt;br /&gt;
5. Check that ebrctl is listed somewhere in /etc/nova/rootwrap.d/*, otherwise add this to /etc/nova/rootwrap.d/compute.filters file in the [Filters] section.&lt;br /&gt;
  ebrctl: CommandFilter, ebrctl, root&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
1. Restart Nova. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/nova-compute restart&lt;br /&gt;
&lt;br /&gt;
2. Start eswitch Daemon &lt;br /&gt;
&lt;br /&gt;
   #/etc/init.d/eswitchd start&lt;br /&gt;
&lt;br /&gt;
3. Start the Neutron agent &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-plugin-mlnx-agent start&lt;br /&gt;
&lt;br /&gt;
Note: eswitch Daemon should be running before the Neutron Agent is started.&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
1. Install the Neutron Linux bridge plugin, the Neutron DHCP agent and the Neutron L3 agent:&lt;br /&gt;
&lt;br /&gt;
  # apt-get install neutron-plugin-linuxbridge-agent neutron-dhcp-agent neutron-l3-agent&lt;br /&gt;
&lt;br /&gt;
2. Copy /etc/neutron/neutron.conf from the Compute node.&lt;br /&gt;
&lt;br /&gt;
3. Change the following configuration of the ini file (/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini). The &amp;quot;default&amp;quot; in the example is the name of the physical network as configured in /etc/neutron/plugins/mlnx/mlnx_conf.ini . &lt;br /&gt;
   [linux_bridge]  &lt;br /&gt;
   physical_interface_mappings = default:eth2 &lt;br /&gt;
&lt;br /&gt;
4. Configure the DHCP agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/dhcp_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_dhcp_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
5. Configure the L3 agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/l3_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_l3_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
6. Configure the Metadata agent according to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#nova_config_metadata OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
7. Start the Neutron Linux Bridge, DHCP and L3 agents &lt;br /&gt;
  # restart neutron-plugin-linuxbridge-agent&lt;br /&gt;
  # restart neutron-dhcp-agent&lt;br /&gt;
  # restart neutron-l3-agent&lt;br /&gt;
  # restart neutron-metadata-agent&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69072</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69072"/>
				<updated>2014-11-26T16:46:39Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Controller Node */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
&lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
To configure the Controller node: &lt;br /&gt;
&lt;br /&gt;
1. Ensure that the file /etc/nova/nova.conf includes the following line:&lt;br /&gt;
 security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
2. If the security group value is changed, restart the Nova services:&lt;br /&gt;
 # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
== Neutron Server Node ==&lt;br /&gt;
=== Installation === &lt;br /&gt;
&lt;br /&gt;
1. Neutron server uses MySQL database. Make sure you have running MySQL database for neutron. &lt;br /&gt;
&lt;br /&gt;
If Neutron server is already running, you should stop it. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-server stop&lt;br /&gt;
&lt;br /&gt;
If you want to use a database that was created you have to drop it and create another one. For example: &lt;br /&gt;
&lt;br /&gt;
  mysql -u root -ppassword &amp;lt;&amp;lt;EOF&lt;br /&gt;
  drop database if exists neutron;&lt;br /&gt;
  create database neutron;&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
If you want to create a new one: &lt;br /&gt;
&lt;br /&gt;
  mysql -u root -ppassword &amp;lt;&amp;lt;EOF&lt;br /&gt;
  drop database if exists neutron;&lt;br /&gt;
  create database neutron;&lt;br /&gt;
  GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'password';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON neutron.* TO 'neutron' IDENTIFIED BY 'password';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
2. Install the required Deb for the Mellanox Neutron plugin: &lt;br /&gt;
&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
&lt;br /&gt;
4. Change /etc/default/neutron-server :&lt;br /&gt;
&lt;br /&gt;
   NEUTRON_PLUGIN_CONFIG=&amp;quot;/etc/neutron/plugins/mlnx/mlnx_conf.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
1. Make the Mellanox plugin the current Neutron plugin by editing neutron.conf and changing core_plugin. &lt;br /&gt;
&lt;br /&gt;
  core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
&lt;br /&gt;
2. Plugin configuration: Edit the configuration file: /etc/neutron/plugins/mlnx/mlnx_conf.ini &lt;br /&gt;
&lt;br /&gt;
   [MLNX]&lt;br /&gt;
   tenant_network_type - must be set on of supported tenant network types.  &lt;br /&gt;
                        Possible values: 'vlan' for Ethernet or 'ib' for Infiniband.'vlan' is the default.&lt;br /&gt;
   network_vlan_ranges - must be configured to specify the names of the  physical    &lt;br /&gt;
 &lt;br /&gt;
   networks managed by the mellanox plugin, &lt;br /&gt;
   along with the ranges of VLAN IDs available on each physical network for allocation to virtual networks.   &lt;br /&gt;
   Possible range is vlan range is 1-4093. &lt;br /&gt;
   The default  is &amp;quot;default:1:100&amp;quot; &lt;br /&gt;
   &amp;lt;fabric name &amp;gt;:&amp;lt;vlan range start&amp;gt;:&amp;lt;vlan end range&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   [agent]&lt;br /&gt;
   rpc_support_old_agents = True&lt;br /&gt;
   Note: rpc_support_old_agents should be set to 'True' (non default).&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
Start (or restart) the Neutron server &lt;br /&gt;
   #/etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
1. If you didn't download Mellanox OpenStack debian files download it : &lt;br /&gt;
&lt;br /&gt;
http://www.mellanox.com/downloads/solutions/openstack/&lt;br /&gt;
&lt;br /&gt;
2. Install the eswitchd debian files: &lt;br /&gt;
   dpkg -i eswitchd_0.8-1_amd64.deb&lt;br /&gt;
   dpkg -i python-mlnxvif_0.6-1_all.deb&lt;br /&gt;
   apt-get install -f # fix dependencies&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. In case you would like to use Ethernet in para-virtualized mode the VIF driver is already included in Nova package. Otherwise, Install Mellanox VIF driver (Make sure nova is installed on your server)&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
&lt;br /&gt;
1. Configure /etc/eswitchd/eswitchd.conf if needed &lt;br /&gt;
&lt;br /&gt;
Please Refer to Mellanox Community for the eSwitchd installation notes ( click [http://community.mellanox.com/docs/DOC-1126 here]) &lt;br /&gt;
&lt;br /&gt;
2. Modify /etc/nova/nova.conf &lt;br /&gt;
&lt;br /&gt;
   compute_driver=nova.virt.libvirt.driver.LibvirtDriver&lt;br /&gt;
   libvirt_vif_driver=mlnxvif.vif.MlxEthVIFDriver&lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
   connection_type=libvirt&lt;br /&gt;
&lt;br /&gt;
In case you didn't install the Mellanox VIF driver, and you plan to use Ethernet only in paravirtualized ,mode: change the following: &lt;br /&gt;
&lt;br /&gt;
   libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
  [AGENT]&lt;br /&gt;
  rpc_support_old_agents = True&lt;br /&gt;
  [ESWITCH]&lt;br /&gt;
   physical_interface_mapping -  the network_interface_mappings maps each physical network name to the physical interface (on top of Mellanox Adapter) connecting the node to that physical network. The format of this paramter is:     &amp;lt;fabric name&amp;gt;:&amp;lt; PF name&amp;gt; (Only releavant on Compute node). PF Name can either be the PF (Physical Function) Name or 'autoeth' for automatic Ethernet configuration,'autoib' for automatic Infiniband configuration.The default is  &amp;quot;default:autoeth&amp;quot;.  &lt;br /&gt;
   vnic_type - type of VM network interface: 'mlnx_direct' or 'hostdev'  according to libvirt terminology.&lt;br /&gt;
        hostdev: this is the traditional method of assigning any generic PCI device to a guest (SR-IOV).&lt;br /&gt;
        mlnx_direct: this is a method to provide macvtap device on top of the PCI device (default).&lt;br /&gt;
        bridge:  - When using Linux Bridge Plugin on top of eIPoIB device&lt;br /&gt;
   daemon_endpoint - 'tcp://127.0.0.1:60001'&lt;br /&gt;
&lt;br /&gt;
For a plugin configuration file example (Havana), please refer to Mellanox config *ini file (click [https://github.com/openstack/neutron/blob/stable/havana/etc/neutron/plugins/mlnx/mlnx_conf.ini here])&lt;br /&gt;
&lt;br /&gt;
4. (Optional) Modify /etc/init/neutron-plugin-mlnx-agent.conf as described in LP bug #[https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1257732 1257732]&lt;br /&gt;
&lt;br /&gt;
5. Check that ebrctl is listed somewhere in /etc/nova/rootwrap.d/*, otherwise add this to /etc/nova/rootwrap.d/compute.filters file in the [Filters] section.&lt;br /&gt;
  ebrctl: CommandFilter, ebrctl, root&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
1. Restart Nova. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/nova-compute restart&lt;br /&gt;
&lt;br /&gt;
2. Start eswitch Daemon &lt;br /&gt;
&lt;br /&gt;
   #/etc/init.d/eswitchd start&lt;br /&gt;
&lt;br /&gt;
3. Start the Neutron agent &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-plugin-mlnx-agent start&lt;br /&gt;
&lt;br /&gt;
Note: eswitch Daemon should be running before the Neutron Agent is started.&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
1. Install the Neutron Linux bridge plugin, the Neutron DHCP agent and the Neutron L3 agent:&lt;br /&gt;
&lt;br /&gt;
  # apt-get install neutron-plugin-linuxbridge-agent neutron-dhcp-agent neutron-l3-agent&lt;br /&gt;
&lt;br /&gt;
2. Copy /etc/neutron/neutron.conf from the Compute node.&lt;br /&gt;
&lt;br /&gt;
3. Change the following configuration of the ini file (/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini). The &amp;quot;default&amp;quot; in the example is the name of the physical network as configured in /etc/neutron/plugins/mlnx/mlnx_conf.ini . &lt;br /&gt;
   [linux_bridge]  &lt;br /&gt;
   physical_interface_mappings = default:eth2 &lt;br /&gt;
&lt;br /&gt;
4. Configure the DHCP agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/dhcp_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_dhcp_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
5. Configure the L3 agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/l3_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_l3_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
6. Configure the Metadata agent according to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#nova_config_metadata OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
7. Start the Neutron Linux Bridge, DHCP and L3 agents &lt;br /&gt;
  # restart neutron-plugin-linuxbridge-agent&lt;br /&gt;
  # restart neutron-dhcp-agent&lt;br /&gt;
  # restart neutron-l3-agent&lt;br /&gt;
  # restart neutron-metadata-agent&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69071</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69071"/>
				<updated>2014-11-26T16:44:16Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* OpenSM Node */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
&lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
In /etc/nova/nova.conf ensure you have the following line: &lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
If you change, restart the nova services&lt;br /&gt;
   # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
== Neutron Server Node ==&lt;br /&gt;
=== Installation === &lt;br /&gt;
&lt;br /&gt;
1. Neutron server uses MySQL database. Make sure you have running MySQL database for neutron. &lt;br /&gt;
&lt;br /&gt;
If Neutron server is already running, you should stop it. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-server stop&lt;br /&gt;
&lt;br /&gt;
If you want to use a database that was created you have to drop it and create another one. For example: &lt;br /&gt;
&lt;br /&gt;
  mysql -u root -ppassword &amp;lt;&amp;lt;EOF&lt;br /&gt;
  drop database if exists neutron;&lt;br /&gt;
  create database neutron;&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
If you want to create a new one: &lt;br /&gt;
&lt;br /&gt;
  mysql -u root -ppassword &amp;lt;&amp;lt;EOF&lt;br /&gt;
  drop database if exists neutron;&lt;br /&gt;
  create database neutron;&lt;br /&gt;
  GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'password';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON neutron.* TO 'neutron' IDENTIFIED BY 'password';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
2. Install the required Deb for the Mellanox Neutron plugin: &lt;br /&gt;
&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
&lt;br /&gt;
4. Change /etc/default/neutron-server :&lt;br /&gt;
&lt;br /&gt;
   NEUTRON_PLUGIN_CONFIG=&amp;quot;/etc/neutron/plugins/mlnx/mlnx_conf.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
1. Make the Mellanox plugin the current Neutron plugin by editing neutron.conf and changing core_plugin. &lt;br /&gt;
&lt;br /&gt;
  core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
&lt;br /&gt;
2. Plugin configuration: Edit the configuration file: /etc/neutron/plugins/mlnx/mlnx_conf.ini &lt;br /&gt;
&lt;br /&gt;
   [MLNX]&lt;br /&gt;
   tenant_network_type - must be set on of supported tenant network types.  &lt;br /&gt;
                        Possible values: 'vlan' for Ethernet or 'ib' for Infiniband.'vlan' is the default.&lt;br /&gt;
   network_vlan_ranges - must be configured to specify the names of the  physical    &lt;br /&gt;
 &lt;br /&gt;
   networks managed by the mellanox plugin, &lt;br /&gt;
   along with the ranges of VLAN IDs available on each physical network for allocation to virtual networks.   &lt;br /&gt;
   Possible range is vlan range is 1-4093. &lt;br /&gt;
   The default  is &amp;quot;default:1:100&amp;quot; &lt;br /&gt;
   &amp;lt;fabric name &amp;gt;:&amp;lt;vlan range start&amp;gt;:&amp;lt;vlan end range&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   [agent]&lt;br /&gt;
   rpc_support_old_agents = True&lt;br /&gt;
   Note: rpc_support_old_agents should be set to 'True' (non default).&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
Start (or restart) the Neutron server &lt;br /&gt;
   #/etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
1. If you didn't download Mellanox OpenStack debian files download it : &lt;br /&gt;
&lt;br /&gt;
http://www.mellanox.com/downloads/solutions/openstack/&lt;br /&gt;
&lt;br /&gt;
2. Install the eswitchd debian files: &lt;br /&gt;
   dpkg -i eswitchd_0.8-1_amd64.deb&lt;br /&gt;
   dpkg -i python-mlnxvif_0.6-1_all.deb&lt;br /&gt;
   apt-get install -f # fix dependencies&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. In case you would like to use Ethernet in para-virtualized mode the VIF driver is already included in Nova package. Otherwise, Install Mellanox VIF driver (Make sure nova is installed on your server)&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
&lt;br /&gt;
1. Configure /etc/eswitchd/eswitchd.conf if needed &lt;br /&gt;
&lt;br /&gt;
Please Refer to Mellanox Community for the eSwitchd installation notes ( click [http://community.mellanox.com/docs/DOC-1126 here]) &lt;br /&gt;
&lt;br /&gt;
2. Modify /etc/nova/nova.conf &lt;br /&gt;
&lt;br /&gt;
   compute_driver=nova.virt.libvirt.driver.LibvirtDriver&lt;br /&gt;
   libvirt_vif_driver=mlnxvif.vif.MlxEthVIFDriver&lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
   connection_type=libvirt&lt;br /&gt;
&lt;br /&gt;
In case you didn't install the Mellanox VIF driver, and you plan to use Ethernet only in paravirtualized ,mode: change the following: &lt;br /&gt;
&lt;br /&gt;
   libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
  [AGENT]&lt;br /&gt;
  rpc_support_old_agents = True&lt;br /&gt;
  [ESWITCH]&lt;br /&gt;
   physical_interface_mapping -  the network_interface_mappings maps each physical network name to the physical interface (on top of Mellanox Adapter) connecting the node to that physical network. The format of this paramter is:     &amp;lt;fabric name&amp;gt;:&amp;lt; PF name&amp;gt; (Only releavant on Compute node). PF Name can either be the PF (Physical Function) Name or 'autoeth' for automatic Ethernet configuration,'autoib' for automatic Infiniband configuration.The default is  &amp;quot;default:autoeth&amp;quot;.  &lt;br /&gt;
   vnic_type - type of VM network interface: 'mlnx_direct' or 'hostdev'  according to libvirt terminology.&lt;br /&gt;
        hostdev: this is the traditional method of assigning any generic PCI device to a guest (SR-IOV).&lt;br /&gt;
        mlnx_direct: this is a method to provide macvtap device on top of the PCI device (default).&lt;br /&gt;
        bridge:  - When using Linux Bridge Plugin on top of eIPoIB device&lt;br /&gt;
   daemon_endpoint - 'tcp://127.0.0.1:60001'&lt;br /&gt;
&lt;br /&gt;
For a plugin configuration file example (Havana), please refer to Mellanox config *ini file (click [https://github.com/openstack/neutron/blob/stable/havana/etc/neutron/plugins/mlnx/mlnx_conf.ini here])&lt;br /&gt;
&lt;br /&gt;
4. (Optional) Modify /etc/init/neutron-plugin-mlnx-agent.conf as described in LP bug #[https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1257732 1257732]&lt;br /&gt;
&lt;br /&gt;
5. Check that ebrctl is listed somewhere in /etc/nova/rootwrap.d/*, otherwise add this to /etc/nova/rootwrap.d/compute.filters file in the [Filters] section.&lt;br /&gt;
  ebrctl: CommandFilter, ebrctl, root&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
1. Restart Nova. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/nova-compute restart&lt;br /&gt;
&lt;br /&gt;
2. Start eswitch Daemon &lt;br /&gt;
&lt;br /&gt;
   #/etc/init.d/eswitchd start&lt;br /&gt;
&lt;br /&gt;
3. Start the Neutron agent &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-plugin-mlnx-agent start&lt;br /&gt;
&lt;br /&gt;
Note: eswitch Daemon should be running before the Neutron Agent is started.&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
1. Install the Neutron Linux bridge plugin, the Neutron DHCP agent and the Neutron L3 agent:&lt;br /&gt;
&lt;br /&gt;
  # apt-get install neutron-plugin-linuxbridge-agent neutron-dhcp-agent neutron-l3-agent&lt;br /&gt;
&lt;br /&gt;
2. Copy /etc/neutron/neutron.conf from the Compute node.&lt;br /&gt;
&lt;br /&gt;
3. Change the following configuration of the ini file (/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini). The &amp;quot;default&amp;quot; in the example is the name of the physical network as configured in /etc/neutron/plugins/mlnx/mlnx_conf.ini . &lt;br /&gt;
   [linux_bridge]  &lt;br /&gt;
   physical_interface_mappings = default:eth2 &lt;br /&gt;
&lt;br /&gt;
4. Configure the DHCP agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/dhcp_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_dhcp_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
5. Configure the L3 agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/l3_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_l3_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
6. Configure the Metadata agent according to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#nova_config_metadata OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
7. Start the Neutron Linux Bridge, DHCP and L3 agents &lt;br /&gt;
  # restart neutron-plugin-linuxbridge-agent&lt;br /&gt;
  # restart neutron-dhcp-agent&lt;br /&gt;
  # restart neutron-l3-agent&lt;br /&gt;
  # restart neutron-metadata-agent&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69070</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69070"/>
				<updated>2014-11-26T16:39:15Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== OpenSM Node ==&lt;br /&gt;
&lt;br /&gt;
To configure OpenSM node: &lt;br /&gt;
&lt;br /&gt;
1. Edit the file /etc/opensm/partitions.conf by adding the following line:&lt;br /&gt;
 management=0xffff,ipoib, sl=0, defmember=both : ALL, ALL_SWITCHES=full,SELF=full;&lt;br /&gt;
Create the file if it does not exist. &lt;br /&gt;
For each VLAN value in the VLAN range used for VLAN network segmentation, add the following line in the file /etc/opensm/partitions.conf (for vlan-pkey association):&lt;br /&gt;
 vlan&amp;lt;decimal-value&amp;gt;=0x&amp;lt;hexadecimal-value&amp;gt;, ipoib, sl=0, defmember=full: ALL;&lt;br /&gt;
In this manual, the VLAN range is 2-10 (mlnx_agent.conf /ml2_conf.ini). Therefore, add the following lines:&lt;br /&gt;
 vlan1=0x1, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan2=0x2, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan3=0x3, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan4=0x4, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan5=0x5, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan6=0x6, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan7=0x7, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan8=0x8, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan9=0x9, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
 vlan10=0xa, ipoib, sl=0, defmember=full : ALL;&lt;br /&gt;
2. Modify the following line in the file /etc/opensm/opensm.conf from FALSE to TRUE:&lt;br /&gt;
 allow_both_pkeys TRUE&lt;br /&gt;
3. Restart OpenSM:&lt;br /&gt;
 service opensmd restart&lt;br /&gt;
4. Verify that all ports on all nodes have their ib interface (i.e. ib0) active, run ibdev2netdev on all hosts, and make sure that the port is up:&lt;br /&gt;
 mlx4_0 port 1 ==&amp;gt; ib0 (Up)&lt;br /&gt;
If the port is down, try bringing it up by running “ifconfig ib0 up”, and make sure your switch ports are of type “InfiniBand”, and that all nodes can reach the OpenSM node by running “sminfo”.&lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
In /etc/nova/nova.conf ensure you have the following line: &lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
If you change, restart the nova services&lt;br /&gt;
   # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
== Neutron Server Node ==&lt;br /&gt;
=== Installation === &lt;br /&gt;
&lt;br /&gt;
1. Neutron server uses MySQL database. Make sure you have running MySQL database for neutron. &lt;br /&gt;
&lt;br /&gt;
If Neutron server is already running, you should stop it. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-server stop&lt;br /&gt;
&lt;br /&gt;
If you want to use a database that was created you have to drop it and create another one. For example: &lt;br /&gt;
&lt;br /&gt;
  mysql -u root -ppassword &amp;lt;&amp;lt;EOF&lt;br /&gt;
  drop database if exists neutron;&lt;br /&gt;
  create database neutron;&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
If you want to create a new one: &lt;br /&gt;
&lt;br /&gt;
  mysql -u root -ppassword &amp;lt;&amp;lt;EOF&lt;br /&gt;
  drop database if exists neutron;&lt;br /&gt;
  create database neutron;&lt;br /&gt;
  GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'password';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON neutron.* TO 'neutron' IDENTIFIED BY 'password';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
2. Install the required Deb for the Mellanox Neutron plugin: &lt;br /&gt;
&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
&lt;br /&gt;
4. Change /etc/default/neutron-server :&lt;br /&gt;
&lt;br /&gt;
   NEUTRON_PLUGIN_CONFIG=&amp;quot;/etc/neutron/plugins/mlnx/mlnx_conf.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
1. Make the Mellanox plugin the current Neutron plugin by editing neutron.conf and changing core_plugin. &lt;br /&gt;
&lt;br /&gt;
  core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
&lt;br /&gt;
2. Plugin configuration: Edit the configuration file: /etc/neutron/plugins/mlnx/mlnx_conf.ini &lt;br /&gt;
&lt;br /&gt;
   [MLNX]&lt;br /&gt;
   tenant_network_type - must be set on of supported tenant network types.  &lt;br /&gt;
                        Possible values: 'vlan' for Ethernet or 'ib' for Infiniband.'vlan' is the default.&lt;br /&gt;
   network_vlan_ranges - must be configured to specify the names of the  physical    &lt;br /&gt;
 &lt;br /&gt;
   networks managed by the mellanox plugin, &lt;br /&gt;
   along with the ranges of VLAN IDs available on each physical network for allocation to virtual networks.   &lt;br /&gt;
   Possible range is vlan range is 1-4093. &lt;br /&gt;
   The default  is &amp;quot;default:1:100&amp;quot; &lt;br /&gt;
   &amp;lt;fabric name &amp;gt;:&amp;lt;vlan range start&amp;gt;:&amp;lt;vlan end range&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   [agent]&lt;br /&gt;
   rpc_support_old_agents = True&lt;br /&gt;
   Note: rpc_support_old_agents should be set to 'True' (non default).&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
Start (or restart) the Neutron server &lt;br /&gt;
   #/etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
1. If you didn't download Mellanox OpenStack debian files download it : &lt;br /&gt;
&lt;br /&gt;
http://www.mellanox.com/downloads/solutions/openstack/&lt;br /&gt;
&lt;br /&gt;
2. Install the eswitchd debian files: &lt;br /&gt;
   dpkg -i eswitchd_0.8-1_amd64.deb&lt;br /&gt;
   dpkg -i python-mlnxvif_0.6-1_all.deb&lt;br /&gt;
   apt-get install -f # fix dependencies&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. In case you would like to use Ethernet in para-virtualized mode the VIF driver is already included in Nova package. Otherwise, Install Mellanox VIF driver (Make sure nova is installed on your server)&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
&lt;br /&gt;
1. Configure /etc/eswitchd/eswitchd.conf if needed &lt;br /&gt;
&lt;br /&gt;
Please Refer to Mellanox Community for the eSwitchd installation notes ( click [http://community.mellanox.com/docs/DOC-1126 here]) &lt;br /&gt;
&lt;br /&gt;
2. Modify /etc/nova/nova.conf &lt;br /&gt;
&lt;br /&gt;
   compute_driver=nova.virt.libvirt.driver.LibvirtDriver&lt;br /&gt;
   libvirt_vif_driver=mlnxvif.vif.MlxEthVIFDriver&lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
   connection_type=libvirt&lt;br /&gt;
&lt;br /&gt;
In case you didn't install the Mellanox VIF driver, and you plan to use Ethernet only in paravirtualized ,mode: change the following: &lt;br /&gt;
&lt;br /&gt;
   libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
  [AGENT]&lt;br /&gt;
  rpc_support_old_agents = True&lt;br /&gt;
  [ESWITCH]&lt;br /&gt;
   physical_interface_mapping -  the network_interface_mappings maps each physical network name to the physical interface (on top of Mellanox Adapter) connecting the node to that physical network. The format of this paramter is:     &amp;lt;fabric name&amp;gt;:&amp;lt; PF name&amp;gt; (Only releavant on Compute node). PF Name can either be the PF (Physical Function) Name or 'autoeth' for automatic Ethernet configuration,'autoib' for automatic Infiniband configuration.The default is  &amp;quot;default:autoeth&amp;quot;.  &lt;br /&gt;
   vnic_type - type of VM network interface: 'mlnx_direct' or 'hostdev'  according to libvirt terminology.&lt;br /&gt;
        hostdev: this is the traditional method of assigning any generic PCI device to a guest (SR-IOV).&lt;br /&gt;
        mlnx_direct: this is a method to provide macvtap device on top of the PCI device (default).&lt;br /&gt;
        bridge:  - When using Linux Bridge Plugin on top of eIPoIB device&lt;br /&gt;
   daemon_endpoint - 'tcp://127.0.0.1:60001'&lt;br /&gt;
&lt;br /&gt;
For a plugin configuration file example (Havana), please refer to Mellanox config *ini file (click [https://github.com/openstack/neutron/blob/stable/havana/etc/neutron/plugins/mlnx/mlnx_conf.ini here])&lt;br /&gt;
&lt;br /&gt;
4. (Optional) Modify /etc/init/neutron-plugin-mlnx-agent.conf as described in LP bug #[https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1257732 1257732]&lt;br /&gt;
&lt;br /&gt;
5. Check that ebrctl is listed somewhere in /etc/nova/rootwrap.d/*, otherwise add this to /etc/nova/rootwrap.d/compute.filters file in the [Filters] section.&lt;br /&gt;
  ebrctl: CommandFilter, ebrctl, root&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
1. Restart Nova. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/nova-compute restart&lt;br /&gt;
&lt;br /&gt;
2. Start eswitch Daemon &lt;br /&gt;
&lt;br /&gt;
   #/etc/init.d/eswitchd start&lt;br /&gt;
&lt;br /&gt;
3. Start the Neutron agent &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-plugin-mlnx-agent start&lt;br /&gt;
&lt;br /&gt;
Note: eswitch Daemon should be running before the Neutron Agent is started.&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
1. Install the Neutron Linux bridge plugin, the Neutron DHCP agent and the Neutron L3 agent:&lt;br /&gt;
&lt;br /&gt;
  # apt-get install neutron-plugin-linuxbridge-agent neutron-dhcp-agent neutron-l3-agent&lt;br /&gt;
&lt;br /&gt;
2. Copy /etc/neutron/neutron.conf from the Compute node.&lt;br /&gt;
&lt;br /&gt;
3. Change the following configuration of the ini file (/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini). The &amp;quot;default&amp;quot; in the example is the name of the physical network as configured in /etc/neutron/plugins/mlnx/mlnx_conf.ini . &lt;br /&gt;
   [linux_bridge]  &lt;br /&gt;
   physical_interface_mappings = default:eth2 &lt;br /&gt;
&lt;br /&gt;
4. Configure the DHCP agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/dhcp_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_dhcp_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
5. Configure the L3 agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/l3_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_l3_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
6. Configure the Metadata agent according to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#nova_config_metadata OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
7. Start the Neutron Linux Bridge, DHCP and L3 agents &lt;br /&gt;
  # restart neutron-plugin-linuxbridge-agent&lt;br /&gt;
  # restart neutron-dhcp-agent&lt;br /&gt;
  # restart neutron-l3-agent&lt;br /&gt;
  # restart neutron-metadata-agent&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69069</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69069"/>
				<updated>2014-11-26T16:33:16Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Ethernet Network */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= InfiniBand Network = &lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
In /etc/nova/nova.conf ensure you have the following line: &lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
If you change, restart the nova services&lt;br /&gt;
   # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
== Neutron Server Node ==&lt;br /&gt;
=== Installation === &lt;br /&gt;
&lt;br /&gt;
1. Neutron server uses MySQL database. Make sure you have running MySQL database for neutron. &lt;br /&gt;
&lt;br /&gt;
If Neutron server is already running, you should stop it. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-server stop&lt;br /&gt;
&lt;br /&gt;
If you want to use a database that was created you have to drop it and create another one. For example: &lt;br /&gt;
&lt;br /&gt;
  mysql -u root -ppassword &amp;lt;&amp;lt;EOF&lt;br /&gt;
  drop database if exists neutron;&lt;br /&gt;
  create database neutron;&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
If you want to create a new one: &lt;br /&gt;
&lt;br /&gt;
  mysql -u root -ppassword &amp;lt;&amp;lt;EOF&lt;br /&gt;
  drop database if exists neutron;&lt;br /&gt;
  create database neutron;&lt;br /&gt;
  GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'password';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON neutron.* TO 'neutron' IDENTIFIED BY 'password';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
2. Install the required Deb for the Mellanox Neutron plugin: &lt;br /&gt;
&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
&lt;br /&gt;
4. Change /etc/default/neutron-server :&lt;br /&gt;
&lt;br /&gt;
   NEUTRON_PLUGIN_CONFIG=&amp;quot;/etc/neutron/plugins/mlnx/mlnx_conf.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
1. Make the Mellanox plugin the current Neutron plugin by editing neutron.conf and changing core_plugin. &lt;br /&gt;
&lt;br /&gt;
  core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
&lt;br /&gt;
2. Plugin configuration: Edit the configuration file: /etc/neutron/plugins/mlnx/mlnx_conf.ini &lt;br /&gt;
&lt;br /&gt;
   [MLNX]&lt;br /&gt;
   tenant_network_type - must be set on of supported tenant network types.  &lt;br /&gt;
                        Possible values: 'vlan' for Ethernet or 'ib' for Infiniband.'vlan' is the default.&lt;br /&gt;
   network_vlan_ranges - must be configured to specify the names of the  physical    &lt;br /&gt;
 &lt;br /&gt;
   networks managed by the mellanox plugin, &lt;br /&gt;
   along with the ranges of VLAN IDs available on each physical network for allocation to virtual networks.   &lt;br /&gt;
   Possible range is vlan range is 1-4093. &lt;br /&gt;
   The default  is &amp;quot;default:1:100&amp;quot; &lt;br /&gt;
   &amp;lt;fabric name &amp;gt;:&amp;lt;vlan range start&amp;gt;:&amp;lt;vlan end range&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   [agent]&lt;br /&gt;
   rpc_support_old_agents = True&lt;br /&gt;
   Note: rpc_support_old_agents should be set to 'True' (non default).&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
Start (or restart) the Neutron server &lt;br /&gt;
   #/etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
1. If you didn't download Mellanox OpenStack debian files download it : &lt;br /&gt;
&lt;br /&gt;
http://www.mellanox.com/downloads/solutions/openstack/&lt;br /&gt;
&lt;br /&gt;
2. Install the eswitchd debian files: &lt;br /&gt;
   dpkg -i eswitchd_0.8-1_amd64.deb&lt;br /&gt;
   dpkg -i python-mlnxvif_0.6-1_all.deb&lt;br /&gt;
   apt-get install -f # fix dependencies&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. In case you would like to use Ethernet in para-virtualized mode the VIF driver is already included in Nova package. Otherwise, Install Mellanox VIF driver (Make sure nova is installed on your server)&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
&lt;br /&gt;
1. Configure /etc/eswitchd/eswitchd.conf if needed &lt;br /&gt;
&lt;br /&gt;
Please Refer to Mellanox Community for the eSwitchd installation notes ( click [http://community.mellanox.com/docs/DOC-1126 here]) &lt;br /&gt;
&lt;br /&gt;
2. Modify /etc/nova/nova.conf &lt;br /&gt;
&lt;br /&gt;
   compute_driver=nova.virt.libvirt.driver.LibvirtDriver&lt;br /&gt;
   libvirt_vif_driver=mlnxvif.vif.MlxEthVIFDriver&lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
   connection_type=libvirt&lt;br /&gt;
&lt;br /&gt;
In case you didn't install the Mellanox VIF driver, and you plan to use Ethernet only in paravirtualized ,mode: change the following: &lt;br /&gt;
&lt;br /&gt;
   libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
  [AGENT]&lt;br /&gt;
  rpc_support_old_agents = True&lt;br /&gt;
  [ESWITCH]&lt;br /&gt;
   physical_interface_mapping -  the network_interface_mappings maps each physical network name to the physical interface (on top of Mellanox Adapter) connecting the node to that physical network. The format of this paramter is:     &amp;lt;fabric name&amp;gt;:&amp;lt; PF name&amp;gt; (Only releavant on Compute node). PF Name can either be the PF (Physical Function) Name or 'autoeth' for automatic Ethernet configuration,'autoib' for automatic Infiniband configuration.The default is  &amp;quot;default:autoeth&amp;quot;.  &lt;br /&gt;
   vnic_type - type of VM network interface: 'mlnx_direct' or 'hostdev'  according to libvirt terminology.&lt;br /&gt;
        hostdev: this is the traditional method of assigning any generic PCI device to a guest (SR-IOV).&lt;br /&gt;
        mlnx_direct: this is a method to provide macvtap device on top of the PCI device (default).&lt;br /&gt;
        bridge:  - When using Linux Bridge Plugin on top of eIPoIB device&lt;br /&gt;
   daemon_endpoint - 'tcp://127.0.0.1:60001'&lt;br /&gt;
&lt;br /&gt;
For a plugin configuration file example (Havana), please refer to Mellanox config *ini file (click [https://github.com/openstack/neutron/blob/stable/havana/etc/neutron/plugins/mlnx/mlnx_conf.ini here])&lt;br /&gt;
&lt;br /&gt;
4. (Optional) Modify /etc/init/neutron-plugin-mlnx-agent.conf as described in LP bug #[https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1257732 1257732]&lt;br /&gt;
&lt;br /&gt;
5. Check that ebrctl is listed somewhere in /etc/nova/rootwrap.d/*, otherwise add this to /etc/nova/rootwrap.d/compute.filters file in the [Filters] section.&lt;br /&gt;
  ebrctl: CommandFilter, ebrctl, root&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
1. Restart Nova. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/nova-compute restart&lt;br /&gt;
&lt;br /&gt;
2. Start eswitch Daemon &lt;br /&gt;
&lt;br /&gt;
   #/etc/init.d/eswitchd start&lt;br /&gt;
&lt;br /&gt;
3. Start the Neutron agent &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-plugin-mlnx-agent start&lt;br /&gt;
&lt;br /&gt;
Note: eswitch Daemon should be running before the Neutron Agent is started.&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
1. Install the Neutron Linux bridge plugin, the Neutron DHCP agent and the Neutron L3 agent:&lt;br /&gt;
&lt;br /&gt;
  # apt-get install neutron-plugin-linuxbridge-agent neutron-dhcp-agent neutron-l3-agent&lt;br /&gt;
&lt;br /&gt;
2. Copy /etc/neutron/neutron.conf from the Compute node.&lt;br /&gt;
&lt;br /&gt;
3. Change the following configuration of the ini file (/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini). The &amp;quot;default&amp;quot; in the example is the name of the physical network as configured in /etc/neutron/plugins/mlnx/mlnx_conf.ini . &lt;br /&gt;
   [linux_bridge]  &lt;br /&gt;
   physical_interface_mappings = default:eth2 &lt;br /&gt;
&lt;br /&gt;
4. Configure the DHCP agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/dhcp_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_dhcp_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
5. Configure the L3 agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/l3_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_l3_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
6. Configure the Metadata agent according to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#nova_config_metadata OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
7. Start the Neutron Linux Bridge, DHCP and L3 agents &lt;br /&gt;
  # restart neutron-plugin-linuxbridge-agent&lt;br /&gt;
  # restart neutron-dhcp-agent&lt;br /&gt;
  # restart neutron-l3-agent&lt;br /&gt;
  # restart neutron-metadata-agent&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69068</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69068"/>
				<updated>2014-11-26T16:32:16Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= Ethernet Network = &lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
In /etc/nova/nova.conf ensure you have the following line: &lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
If you change, restart the nova services&lt;br /&gt;
   # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
== Neutron Server Node ==&lt;br /&gt;
=== Installation === &lt;br /&gt;
&lt;br /&gt;
1. Neutron server uses MySQL database. Make sure you have running MySQL database for neutron. &lt;br /&gt;
&lt;br /&gt;
If Neutron server is already running, you should stop it. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-server stop&lt;br /&gt;
&lt;br /&gt;
If you want to use a database that was created you have to drop it and create another one. For example: &lt;br /&gt;
&lt;br /&gt;
  mysql -u root -ppassword &amp;lt;&amp;lt;EOF&lt;br /&gt;
  drop database if exists neutron;&lt;br /&gt;
  create database neutron;&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
If you want to create a new one: &lt;br /&gt;
&lt;br /&gt;
  mysql -u root -ppassword &amp;lt;&amp;lt;EOF&lt;br /&gt;
  drop database if exists neutron;&lt;br /&gt;
  create database neutron;&lt;br /&gt;
  GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'password';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON neutron.* TO 'neutron' IDENTIFIED BY 'password';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
2. Install the required Deb for the Mellanox Neutron plugin: &lt;br /&gt;
&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
&lt;br /&gt;
4. Change /etc/default/neutron-server :&lt;br /&gt;
&lt;br /&gt;
   NEUTRON_PLUGIN_CONFIG=&amp;quot;/etc/neutron/plugins/mlnx/mlnx_conf.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
1. Make the Mellanox plugin the current Neutron plugin by editing neutron.conf and changing core_plugin. &lt;br /&gt;
&lt;br /&gt;
  core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
&lt;br /&gt;
2. Plugin configuration: Edit the configuration file: /etc/neutron/plugins/mlnx/mlnx_conf.ini &lt;br /&gt;
&lt;br /&gt;
   [MLNX]&lt;br /&gt;
   tenant_network_type - must be set on of supported tenant network types.  &lt;br /&gt;
                        Possible values: 'vlan' for Ethernet or 'ib' for Infiniband.'vlan' is the default.&lt;br /&gt;
   network_vlan_ranges - must be configured to specify the names of the  physical    &lt;br /&gt;
 &lt;br /&gt;
   networks managed by the mellanox plugin, &lt;br /&gt;
   along with the ranges of VLAN IDs available on each physical network for allocation to virtual networks.   &lt;br /&gt;
   Possible range is vlan range is 1-4093. &lt;br /&gt;
   The default  is &amp;quot;default:1:100&amp;quot; &lt;br /&gt;
   &amp;lt;fabric name &amp;gt;:&amp;lt;vlan range start&amp;gt;:&amp;lt;vlan end range&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   [agent]&lt;br /&gt;
   rpc_support_old_agents = True&lt;br /&gt;
   Note: rpc_support_old_agents should be set to 'True' (non default).&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
Start (or restart) the Neutron server &lt;br /&gt;
   #/etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
1. If you didn't download Mellanox OpenStack debian files download it : &lt;br /&gt;
&lt;br /&gt;
http://www.mellanox.com/downloads/solutions/openstack/&lt;br /&gt;
&lt;br /&gt;
2. Install the eswitchd debian files: &lt;br /&gt;
   dpkg -i eswitchd_0.8-1_amd64.deb&lt;br /&gt;
   dpkg -i python-mlnxvif_0.6-1_all.deb&lt;br /&gt;
   apt-get install -f # fix dependencies&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. In case you would like to use Ethernet in para-virtualized mode the VIF driver is already included in Nova package. Otherwise, Install Mellanox VIF driver (Make sure nova is installed on your server)&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
&lt;br /&gt;
1. Configure /etc/eswitchd/eswitchd.conf if needed &lt;br /&gt;
&lt;br /&gt;
Please Refer to Mellanox Community for the eSwitchd installation notes ( click [http://community.mellanox.com/docs/DOC-1126 here]) &lt;br /&gt;
&lt;br /&gt;
2. Modify /etc/nova/nova.conf &lt;br /&gt;
&lt;br /&gt;
   compute_driver=nova.virt.libvirt.driver.LibvirtDriver&lt;br /&gt;
   libvirt_vif_driver=mlnxvif.vif.MlxEthVIFDriver&lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
   connection_type=libvirt&lt;br /&gt;
&lt;br /&gt;
In case you didn't install the Mellanox VIF driver, and you plan to use Ethernet only in paravirtualized ,mode: change the following: &lt;br /&gt;
&lt;br /&gt;
   libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
  [AGENT]&lt;br /&gt;
  rpc_support_old_agents = True&lt;br /&gt;
  [ESWITCH]&lt;br /&gt;
   physical_interface_mapping -  the network_interface_mappings maps each physical network name to the physical interface (on top of Mellanox Adapter) connecting the node to that physical network. The format of this paramter is:     &amp;lt;fabric name&amp;gt;:&amp;lt; PF name&amp;gt; (Only releavant on Compute node). PF Name can either be the PF (Physical Function) Name or 'autoeth' for automatic Ethernet configuration,'autoib' for automatic Infiniband configuration.The default is  &amp;quot;default:autoeth&amp;quot;.  &lt;br /&gt;
   vnic_type - type of VM network interface: 'mlnx_direct' or 'hostdev'  according to libvirt terminology.&lt;br /&gt;
        hostdev: this is the traditional method of assigning any generic PCI device to a guest (SR-IOV).&lt;br /&gt;
        mlnx_direct: this is a method to provide macvtap device on top of the PCI device (default).&lt;br /&gt;
        bridge:  - When using Linux Bridge Plugin on top of eIPoIB device&lt;br /&gt;
   daemon_endpoint - 'tcp://127.0.0.1:60001'&lt;br /&gt;
&lt;br /&gt;
For a plugin configuration file example (Havana), please refer to Mellanox config *ini file (click [https://github.com/openstack/neutron/blob/stable/havana/etc/neutron/plugins/mlnx/mlnx_conf.ini here])&lt;br /&gt;
&lt;br /&gt;
4. (Optional) Modify /etc/init/neutron-plugin-mlnx-agent.conf as described in LP bug #[https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1257732 1257732]&lt;br /&gt;
&lt;br /&gt;
5. Check that ebrctl is listed somewhere in /etc/nova/rootwrap.d/*, otherwise add this to /etc/nova/rootwrap.d/compute.filters file in the [Filters] section.&lt;br /&gt;
  ebrctl: CommandFilter, ebrctl, root&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
1. Restart Nova. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/nova-compute restart&lt;br /&gt;
&lt;br /&gt;
2. Start eswitch Daemon &lt;br /&gt;
&lt;br /&gt;
   #/etc/init.d/eswitchd start&lt;br /&gt;
&lt;br /&gt;
3. Start the Neutron agent &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-plugin-mlnx-agent start&lt;br /&gt;
&lt;br /&gt;
Note: eswitch Daemon should be running before the Neutron Agent is started.&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
1. Install the Neutron Linux bridge plugin, the Neutron DHCP agent and the Neutron L3 agent:&lt;br /&gt;
&lt;br /&gt;
  # apt-get install neutron-plugin-linuxbridge-agent neutron-dhcp-agent neutron-l3-agent&lt;br /&gt;
&lt;br /&gt;
2. Copy /etc/neutron/neutron.conf from the Compute node.&lt;br /&gt;
&lt;br /&gt;
3. Change the following configuration of the ini file (/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini). The &amp;quot;default&amp;quot; in the example is the name of the physical network as configured in /etc/neutron/plugins/mlnx/mlnx_conf.ini . &lt;br /&gt;
   [linux_bridge]  &lt;br /&gt;
   physical_interface_mappings = default:eth2 &lt;br /&gt;
&lt;br /&gt;
4. Configure the DHCP agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/dhcp_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_dhcp_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
5. Configure the L3 agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/l3_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_l3_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
6. Configure the Metadata agent according to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#nova_config_metadata OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
7. Start the Neutron Linux Bridge, DHCP and L3 agents &lt;br /&gt;
  # restart neutron-plugin-linuxbridge-agent&lt;br /&gt;
  # restart neutron-dhcp-agent&lt;br /&gt;
  # restart neutron-l3-agent&lt;br /&gt;
  # restart neutron-metadata-agent&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69067</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-InfiniBand&amp;diff=69067"/>
				<updated>2014-11-26T16:31:22Z</updated>
		
		<summary type="html">&lt;p&gt;May: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
You need at least 3 nodes:&lt;br /&gt;
* Controller node running the neutron-server service.&lt;br /&gt;
* Compute node running the eswitchd, nova-compute &amp;amp; neutron-plugin-mlnx-agent services.&lt;br /&gt;
* Network node running the neutron-plugin-linuxbridge-agent, neutron-dhcp-agent and neutron-l3-agent services.&lt;br /&gt;
&lt;br /&gt;
= Ethernet Network = &lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
In /etc/nova/nova.conf ensure you have the following line: &lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
If you change, restart the nova services&lt;br /&gt;
   # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
== Neutron Server Node ==&lt;br /&gt;
=== Installation === &lt;br /&gt;
&lt;br /&gt;
1. Neutron server uses MySQL database. Make sure you have running MySQL database for neutron. &lt;br /&gt;
&lt;br /&gt;
If Neutron server is already running, you should stop it. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-server stop&lt;br /&gt;
&lt;br /&gt;
If you want to use a database that was created you have to drop it and create another one. For example: &lt;br /&gt;
&lt;br /&gt;
  mysql -u root -ppassword &amp;lt;&amp;lt;EOF&lt;br /&gt;
  drop database if exists neutron;&lt;br /&gt;
  create database neutron;&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
If you want to create a new one: &lt;br /&gt;
&lt;br /&gt;
  mysql -u root -ppassword &amp;lt;&amp;lt;EOF&lt;br /&gt;
  drop database if exists neutron;&lt;br /&gt;
  create database neutron;&lt;br /&gt;
  GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'password';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON neutron.* TO 'neutron' IDENTIFIED BY 'password';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
2. Install the required Deb for the Mellanox Neutron plugin: &lt;br /&gt;
&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
&lt;br /&gt;
4. Change /etc/default/neutron-server :&lt;br /&gt;
&lt;br /&gt;
   NEUTRON_PLUGIN_CONFIG=&amp;quot;/etc/neutron/plugins/mlnx/mlnx_conf.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
1. Make the Mellanox plugin the current Neutron plugin by editing neutron.conf and changing core_plugin. &lt;br /&gt;
&lt;br /&gt;
  core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
&lt;br /&gt;
2. Plugin configuration: Edit the configuration file: /etc/neutron/plugins/mlnx/mlnx_conf.ini &lt;br /&gt;
&lt;br /&gt;
   [MLNX]&lt;br /&gt;
   tenant_network_type - must be set on of supported tenant network types.  &lt;br /&gt;
                        Possible values: 'vlan' for Ethernet or 'ib' for Infiniband.'vlan' is the default.&lt;br /&gt;
   network_vlan_ranges - must be configured to specify the names of the  physical    &lt;br /&gt;
 &lt;br /&gt;
   networks managed by the mellanox plugin, &lt;br /&gt;
   along with the ranges of VLAN IDs available on each physical network for allocation to virtual networks.   &lt;br /&gt;
   Possible range is vlan range is 1-4093. &lt;br /&gt;
   The default  is &amp;quot;default:1:100&amp;quot; &lt;br /&gt;
   &amp;lt;fabric name &amp;gt;:&amp;lt;vlan range start&amp;gt;:&amp;lt;vlan end range&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   [agent]&lt;br /&gt;
   rpc_support_old_agents = True&lt;br /&gt;
   Note: rpc_support_old_agents should be set to 'True' (non default).&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
Start (or restart) the Neutron server &lt;br /&gt;
   #/etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
1. If you didn't download Mellanox OpenStack debian files download it : &lt;br /&gt;
&lt;br /&gt;
http://www.mellanox.com/downloads/solutions/openstack/&lt;br /&gt;
&lt;br /&gt;
2. Install the eswitchd debian files: &lt;br /&gt;
   dpkg -i eswitchd_0.8-1_amd64.deb&lt;br /&gt;
   dpkg -i python-mlnxvif_0.6-1_all.deb&lt;br /&gt;
   apt-get install -f # fix dependencies&lt;br /&gt;
   apt-get install -y neutron-plugin-mlnx-agent&lt;br /&gt;
&lt;br /&gt;
3. In case you would like to use Ethernet in para-virtualized mode the VIF driver is already included in Nova package. Otherwise, Install Mellanox VIF driver (Make sure nova is installed on your server)&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
&lt;br /&gt;
1. Configure /etc/eswitchd/eswitchd.conf if needed &lt;br /&gt;
&lt;br /&gt;
Please Refer to Mellanox Community for the eSwitchd installation notes ( click [http://community.mellanox.com/docs/DOC-1126 here]) &lt;br /&gt;
&lt;br /&gt;
2. Modify /etc/nova/nova.conf &lt;br /&gt;
&lt;br /&gt;
   compute_driver=nova.virt.libvirt.driver.LibvirtDriver&lt;br /&gt;
   libvirt_vif_driver=mlnxvif.vif.MlxEthVIFDriver&lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
   connection_type=libvirt&lt;br /&gt;
&lt;br /&gt;
In case you didn't install the Mellanox VIF driver, and you plan to use Ethernet only in paravirtualized ,mode: change the following: &lt;br /&gt;
&lt;br /&gt;
   libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver&lt;br /&gt;
&lt;br /&gt;
3. Modify the /etc/neutron/plugins/mlnx/mlnx_conf.ini file to reflect your environment. &lt;br /&gt;
  [AGENT]&lt;br /&gt;
  rpc_support_old_agents = True&lt;br /&gt;
  [ESWITCH]&lt;br /&gt;
   physical_interface_mapping -  the network_interface_mappings maps each physical network name to the physical interface (on top of Mellanox Adapter) connecting the node to that physical network. The format of this paramter is:     &amp;lt;fabric name&amp;gt;:&amp;lt; PF name&amp;gt; (Only releavant on Compute node). PF Name can either be the PF (Physical Function) Name or 'autoeth' for automatic Ethernet configuration,'autoib' for automatic Infiniband configuration.The default is  &amp;quot;default:autoeth&amp;quot;.  &lt;br /&gt;
   vnic_type - type of VM network interface: 'mlnx_direct' or 'hostdev'  according to libvirt terminology.&lt;br /&gt;
        hostdev: this is the traditional method of assigning any generic PCI device to a guest (SR-IOV).&lt;br /&gt;
        mlnx_direct: this is a method to provide macvtap device on top of the PCI device (default).&lt;br /&gt;
        bridge:  - When using Linux Bridge Plugin on top of eIPoIB device&lt;br /&gt;
   daemon_endpoint - 'tcp://127.0.0.1:60001'&lt;br /&gt;
&lt;br /&gt;
For a plugin configuration file example (Havana), please refer to Mellanox config *ini file (click [https://github.com/openstack/neutron/blob/stable/havana/etc/neutron/plugins/mlnx/mlnx_conf.ini here])&lt;br /&gt;
&lt;br /&gt;
4. (Optional) Modify /etc/init/neutron-plugin-mlnx-agent.conf as described in LP bug #[https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1257732 1257732]&lt;br /&gt;
&lt;br /&gt;
5. Check that ebrctl is listed somewhere in /etc/nova/rootwrap.d/*, otherwise add this to /etc/nova/rootwrap.d/compute.filters file in the [Filters] section.&lt;br /&gt;
  ebrctl: CommandFilter, ebrctl, root&lt;br /&gt;
&lt;br /&gt;
=== Start Services ===&lt;br /&gt;
&lt;br /&gt;
1. Restart Nova. &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/nova-compute restart&lt;br /&gt;
&lt;br /&gt;
2. Start eswitch Daemon &lt;br /&gt;
&lt;br /&gt;
   #/etc/init.d/eswitchd start&lt;br /&gt;
&lt;br /&gt;
3. Start the Neutron agent &lt;br /&gt;
&lt;br /&gt;
  #/etc/init.d/neutron-plugin-mlnx-agent start&lt;br /&gt;
&lt;br /&gt;
Note: eswitch Daemon should be running before the Neutron Agent is started.&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
1. Install the Neutron Linux bridge plugin, the Neutron DHCP agent and the Neutron L3 agent:&lt;br /&gt;
&lt;br /&gt;
  # apt-get install neutron-plugin-linuxbridge-agent neutron-dhcp-agent neutron-l3-agent&lt;br /&gt;
&lt;br /&gt;
2. Copy /etc/neutron/neutron.conf from the Compute node.&lt;br /&gt;
&lt;br /&gt;
3. Change the following configuration of the ini file (/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini). The &amp;quot;default&amp;quot; in the example is the name of the physical network as configured in /etc/neutron/plugins/mlnx/mlnx_conf.ini . &lt;br /&gt;
   [linux_bridge]  &lt;br /&gt;
   physical_interface_mappings = default:eth2 &lt;br /&gt;
&lt;br /&gt;
4. Configure the DHCP agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/dhcp_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_dhcp_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
5. Configure the L3 agent according to the following guidelines &lt;br /&gt;
&lt;br /&gt;
Update the following file: /etc/neutron/l3_agent.ini with:&lt;br /&gt;
   [DEFAULT] &lt;br /&gt;
  interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver &lt;br /&gt;
&lt;br /&gt;
For additional information refer to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#section_adv_cfg_l3_agent OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
6. Configure the Metadata agent according to the [http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#nova_config_metadata OpenStack documentation]&lt;br /&gt;
&lt;br /&gt;
7. Start the Neutron Linux Bridge, DHCP and L3 agents &lt;br /&gt;
  # restart neutron-plugin-linuxbridge-agent&lt;br /&gt;
  # restart neutron-dhcp-agent&lt;br /&gt;
  # restart neutron-l3-agent&lt;br /&gt;
  # restart neutron-metadata-agent&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-Ethernet&amp;diff=69066</id>
		<title>Mellanox-Neutron-Icehouse-Ubuntu-Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Mellanox-Neutron-Icehouse-Ubuntu-Ethernet&amp;diff=69066"/>
				<updated>2014-11-26T16:30:09Z</updated>
		
		<summary type="html">&lt;p&gt;May: /* Network Node */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview = &lt;br /&gt;
&lt;br /&gt;
This wiki page describes how to tune Mellanox OpenStack on Ubuntu 12.04 servers&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
* A running OpenStack environment  installed with the ML2 plugin on top of OVS.&lt;br /&gt;
* All nodes equipped with Mellanox ConnectX®-3 Network Adapter (http://www.mellanox.com/page/products_dyn?product_family=119) &lt;br /&gt;
* Mellanox OFED 2.2 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED: http://www.mellanox.com/page/products_dyn?product_family=26&amp;amp;mtag=linux_sw_drivers&lt;br /&gt;
* SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community [http://community.mellanox.com/docs/DOC-1317 click here].&lt;br /&gt;
* The software package iproute2 - (http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 ) installed on all Compute nodes&lt;br /&gt;
* VLANs configured on the ports in the switch.&lt;br /&gt;
&lt;br /&gt;
= Ethernet Network = &lt;br /&gt;
&lt;br /&gt;
== Controller Node == &lt;br /&gt;
&lt;br /&gt;
In /etc/nova/nova.conf, ensure you have the following line: &lt;br /&gt;
   security_group_api=nova&lt;br /&gt;
&lt;br /&gt;
If the value is changed, restart the Nova services:&lt;br /&gt;
   # for i in $(initctl list | grep '^nova' | awk '{print $1}'); do service $i restart; done&lt;br /&gt;
&lt;br /&gt;
=== Neutron Server Node ===&lt;br /&gt;
NOTE: The Neutron Server can sometimes be part of the Controller node.&lt;br /&gt;
&lt;br /&gt;
To configure the Neutron-Server node:&lt;br /&gt;
&lt;br /&gt;
1. Edit /etc/neutron/neutron.conf, and make sure Neutron is using ML2 plugin:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin&lt;br /&gt;
2. Modify the ML2 configuration file (/etc/neutron/plugins/ml2/ml2_conf.ini) as follows:&lt;br /&gt;
 [ml2]&lt;br /&gt;
 type_drivers = vlan,flat&lt;br /&gt;
 tenant_network_types = vlan&lt;br /&gt;
 mechanism_drivers = openvswitch,mlnx  &lt;br /&gt;
 [ml2_type_vlan]&lt;br /&gt;
 network_vlan_ranges=&amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan&amp;gt;:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)   &lt;br /&gt;
 [securitygroup]&lt;br /&gt;
 enable_security_group = True   &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 apply_profile_patch = True&lt;br /&gt;
3. Install the required Deb for the Mellanox Neutron plugin (from Ubuntu’s repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
4. Edit /etc/neutron/plugins/mlnx/mlnx_conf.ini to match your environment:&lt;br /&gt;
 [mlnx]&lt;br /&gt;
 network_vlan_ranges = &amp;lt;physical_network&amp;gt;:&amp;lt;min_vlan:&amp;lt;max_vlan&amp;gt; //(i.e. default:2:10)&lt;br /&gt;
 tenant_network_type = vlan &lt;br /&gt;
 [eswitch]&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth interface&amp;gt; //(i.e. default:eth0)&lt;br /&gt;
 vnic_type = hostdev&lt;br /&gt;
 [agent]&lt;br /&gt;
 support_old_agents = True&lt;br /&gt;
&lt;br /&gt;
5. Restart neutron-server: &lt;br /&gt;
 /etc/init.d/neutron-server start&lt;br /&gt;
&lt;br /&gt;
== Compute Nodes ==&lt;br /&gt;
&lt;br /&gt;
To configure the Compute node: &lt;br /&gt;
&lt;br /&gt;
1. Download mlnxvif and eSwitch Daemon (eSwitchd) from the following link:&lt;br /&gt;
 http://www.mellanox.com/downloads/solutions/openstack/icehouse/debian/&lt;br /&gt;
2. Install the Mellanox plugin services mlnxvif and eSwitchd:&lt;br /&gt;
 dpkg –i python-mlnxvif_2014.1.1-1_all.deb&lt;br /&gt;
 dpkg –i python-eswitchd_0.10-1_all.deb&lt;br /&gt;
3. Edit /etc/eswitchd/eswitchd.conf as follows:&lt;br /&gt;
 [DAEMON]&lt;br /&gt;
 fabrics=&amp;lt;physical_network&amp;gt;:&amp;lt;eth-interface&amp;gt; //(i.e. default:eth0)&lt;br /&gt;
4. Edit /etc/nova/nova.conf as follows:&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 compute_driver = libvirt.LibvirtDriver&lt;br /&gt;
 libvirt_vif_driver = mlnxvif.vif.MlxEthVIFDriver&lt;br /&gt;
 security_group_api = nova&lt;br /&gt;
5. Check if “ebrctl” appears in one of Nova’s rootwrap files:&lt;br /&gt;
 grep 'ebrctl' /etc/nova/rootwrap.d/*&lt;br /&gt;
If “ebrctl” does not appear in one of Nova’s rootwrap files, edit the file /etc/nova/rootwrap.d/compute.filters as follows:&lt;br /&gt;
 [Filters]&lt;br /&gt;
 ebrctl: CommandFilter, ebrctl, root&lt;br /&gt;
6. Install the Neutron Mellanox agent (from Ubuntu repository):&lt;br /&gt;
 apt-get install neutron-plugin-mlnx-agent&lt;br /&gt;
7. Copy /etc/neutron/plugins/mlnx/mlnx_conf.ini from the Neutron Server node to the same path on each Compute node.&lt;br /&gt;
8. Restart the following services:&lt;br /&gt;
 /etc/init.d/nova-compute restart&lt;br /&gt;
 /etc/init.d/eswitchd start&lt;br /&gt;
 /etc/init.d/neutron-plugin-mlnx-agent start&lt;br /&gt;
&lt;br /&gt;
== Network Node ==&lt;br /&gt;
&lt;br /&gt;
To configure the Network node:&lt;br /&gt;
&lt;br /&gt;
1. Configure eIPoIB (for Linux bridge plugin), and edit the file /etc/infiniband/openib.conf as follows:&lt;br /&gt;
 E_IPOIB_LOAD=yes&lt;br /&gt;
2. Edit /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini as follows:&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth-interface&amp;gt; &lt;br /&gt;
 //(i.e. default:eth2)&lt;br /&gt;
3. Restart Open vSwitch agent:&lt;br /&gt;
 service neutron-openvswitch-agent restart&lt;br /&gt;
4. Copy /etc/neutron/neutron.conf from the Compute node to the same path on the Network node.&lt;br /&gt;
&lt;br /&gt;
5. Edit /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini as follows:&lt;br /&gt;
 physical_interface_mappings = &amp;lt;physical_network&amp;gt;:&amp;lt;eth interface&amp;gt; &lt;br /&gt;
 //(i.e. default:eth2)&lt;br /&gt;
6. Edit /etc/neutron/dhcp_agent.ini and /etc/neutron/l3_agent.ini as follows:&lt;br /&gt;
 [DEFAULT] &lt;br /&gt;
 interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver&lt;br /&gt;
7. Restart the following services:&lt;br /&gt;
 service neutron-plugin-linuxbridge-agent restart &lt;br /&gt;
 service neutron-dhcp-agent restart&lt;br /&gt;
 service neutron-l3-agent restart&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If you're seeing request timeout errors in the plugin's logs, make sure that the eswitchd service is started and try to increase the request_timeout value in the plugin configuration file.&lt;/div&gt;</summary>
		<author><name>May</name></author>	</entry>

	</feed>