Mellanox-Neutron-Liberty-Redhat-Ethernet

=Ethernet Configuration with Mellanox= =SR-IOV Networking in OpenStack Liberty= 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). There are two ways that SR-IOV port may be connected:
 * directly connected to its VF
 * connected with a macvtap device that resides on the host, which is then connected to the corresponding VF

Prerequisites

 * Clean Red Hat 7.1
 * A running OpenStack environment installed with the ML2 plugin on top of OpenVswitch or Linux Bridge.
 * All nodes equipped with Mellanox ConnectX®-3 Network Adapter
 * Mellanox OFED 2.4 or greater installed on all nodes. Please refer to Mellanox website for the latest OFED:
 * SR-IOV enabled on all compute nodes. For more information, please refer to Mellanox Community click.
 * The software package iproute2 installed on all Compute nodes

RDO installation
To install and configure packstack

1. Install packstack yum install -y openstack-packstack

2. Modify answer file packstack --provision-demo=n --nagios-install=n --os-swift-install=n --os-ceilometer-install=n --os-neutron-ml2-type-drivers=flat,vlan --os-neutron-ml2-tenant-network-types=vlan --os-neutron-ml2-mechanism-drivers=openvswitch,sriovnicswitch --os-neutron-ml2-vlan-ranges=default:2:10 --use-epel=y --os-compute-hosts=192.168.100.10,192.168.100.11 --keystone-admin-passwd=admin --keystone-demo-passwd=demo --novacompute-privif=enp7s0f0 --novanetwork-pubif=eth0 --novanetwork-privif=enp7s0f0 --os-neutron-ovs-bridge-mappings=default:br-enp7s0f0,extnet:br-ex --os-neutron-ovs-bridge-interfaces=br-enp7s0f0:enp7s0f0 '--nova-pci-passthrough-whitelist=[{"address":"*:07:00.*","physical_network":"default"}]' --os-neutron-ml2-sriov-agent-required=y --os-neutron-ml2-sriov-interface-mappings=default:enp7s0f0 --gen-answer-file=answerfile.cfg


 * --nova-pci-passthrough-whitelist = replace 07:00 with your mellanox bus id (lspci | grep Mellanox)
 * enp7s0f0 = replace with active mellanox interface (ibdev2netdev)

3. Run packstack
 * 1) packstack --answer-file=answerfile.cfg

Configuration
Configure SR-IOV

SDN Mechanism Driver
SDN Mechanism Driver allows NEO to configure dynamically VLANs on the Mellanox Switches. Further Reading
 * NEO
 * Mellanox Switches
 * SDN Mechanism Driver

Ceilometer
The Mellanox Ceilometer SR-IOV module allows the OpenStack Ceilometer to collect measurements of SR-IOV counters.

More details about applying Mellanox Ceilometer module can be found here