Vous êtes sur la page 1sur 8

SR-IOV

Version 3.0
Technology Preview Guide
Emulex Connects
P006796-01B Rev. A Servers, Storage and People
SR-IOV Technology Preview Guide
Copyright 201-20121 Emulex. All rights reserved worldwide. No part of this document may be reproduced by any
means or translated to any electronic medium without the prior written consent of Emulex.
Information furnished by Emulex is believed to be accurate and reliable. However, no responsibility is assumed by
Emulex for its use; or for any infringements of patents or other rights of third parties which may result from its use.
No license is granted by implication or otherwise under any patent, copyright or related rights of Emulex.
Emulex, the Emulex logo, AutoPilot Installer, AutoPilot Manager, BlockGuard, Connectivity Continuum,
Convergenomics, Emulex Connect, Emulex Secure, EZPilot, FibreSpy, HBAnyware, InSpeed, LightPulse,
MultiPulse, OneCommand, OneConnect, One Network. One Company., SBOD, SLI, and VEngine are trademarks of
Emulex. All other brand or product names referenced herein are trademarks or registered trademarks of their
respective companies or organizations.
Emulex provides this manual "as is" without any warranty of any kind, either expressed or implied, including but not
limited to the implied warranties of merchantability or fitness for a particular purpose. Emulex may make
improvements and changes to the product described in this manual at any time and without any notice. Emulex
assumes no responsibility for its use, nor for any infringements of patents or other rights of third parties that may
result. Periodic changes are made to information contained herein; although these changes will be incorporated into
new editions of this manual, Emulex disclaims any undertaking to give notice of such changes.
Emulex, 3333 Susan Street
Costa Mesa, CA 92626
SR-IOV Technology Preview User Guide Page iii
Introduction............................................................................................................................................. 1
SR-IOV Advantages ......................................................................................................................... 1
Requirements ................................................................................................................................... 1
Setting Up SR-IOV.............................................................................................................................. 2
Configuration .......................................................................................................................................... 4
MAC Address for Virtual Function Interfaces....................................................................................... 4
Configuring the MAC Address for the VF.......................................................................................... 4
Configuring VLAN on VF Interfaces Using vconfig............................................................................ 4
Transparent VLAN Tagging ........................................................................................................ 4
Virtual Guest Tagging (VGT) ...................................................................................................... 5
Configuring Rate Limit on VF Interfaces.............................................................................................. 5
SR-IOV Technology Preview Guide Page 1
Introduction
Emulex

offers Single Root I/O Virtualization (SR-IOV) functionality as a Technology Preview feature.
This guide contains requirements and steps to use SR-IOV in a RHEL 6 K Virtual Machine (KVM)
environment. This environment supports capabilities of OneConnect to enable multiple virtual
functions (VFs) for a physical function (PF). Each of these VFs can be assigned to virtual machines
(VMs). A VF enables the guest operating system direct access to OneConnect, such that guest
performance is not limited by the overheads of the hypervisor.
It is important to remember that a Technology Preview feature is not to be used in production
environments and may not be functionally complete. Emulex cannot provide standard support levels
(including rapid response, fixes, troubleshooting, and workarounds). However, Emulex is very interested
in your feedback and early experiences with this feature.
SR-IOV Advantages
Direct I/O throughput
Reduced CPU utilization
Increased scalability
Improved device performance for virtual guests
Requirements
To set up SR-IOV on your system, the following is required:
A server/blade with an SR-IOV-capable motherboard BIOS.
The server/blade must be supported by one of the following operating systems, which
are supported as hypervisor and VMs:
RHEL 6.1 (64-bit)
RHEL 6.0 (64-bit)
RHEL 5.6
SLES 11 SP1
OneConnect has been tested with a limited set of servers based on Intel CPU.
A OneConnect OCx11102-xT or higher Universal Converged Network Adapter (UCNA).
Note: Currently, SR-IOV is supported only in non-multichannel setups.
Note: Configuration mechanisms for parameters such as MAC address, VLAN and QoS for
VF are supported only in RHEL6 and RHEL 6.1 distributions.
SR-IOV Technology Preview Guide Page 2
Setting Up SR-IOV
1. Depending on your system, perform one or more of the following tasks to set up your BIOS. (For
more information, refer to the manufacturers instructions for your system.)
a. Enable SR-IOV in the system BIOS. This supports SR-IOV functionality.
b. Enable Intel Virtualization Technology support for Direct I/O VT-d. This enables support
of VMs.
2. To enable SR-IOV in the OneConnect firmware using the PXE Select menu, enter the PXE
Select utility menu by pressing <Ctrl> + <P> when the PXE BIOS banner appears in during
system boot.
Figure 1: PXESelect Utility, SR-IOV enabled
3. Install Linux RHEL6.0 or 6.1.
4. Update the /boot/grub/menu.lst file to include the following command line load parameter for the
Linux kernel:
intel_iommu=on iommu=pt
5. Install an Emulex driver for Linux that supports SR-IOV.
6. Reboot the server for the new firmware to become operational.
7. Use the "lspci -vvv" output command to check if SR-IOV is properly enabled:
lspci -vvv
This command returns an SR-IOV capability section for each OneConnect NIC PF, and the total/
initial VFs should be non-zero. Make a note of the lspci command output in the host. This output
is needed in step 12.
Example of the SR-IOV capabilities section output of the PF with SR-IOV enabled:
Capabilities: [180] Single Root I/O Virtualization (SR-IOV)
IOVCap: Migration-, Interrupt Message Number: 000
IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy-
IOVSta: Migration-
Initial VFs: 16, Total VFs: 16, Number of VFs: 0, Function Dependency
Link: 00
VF offset: 0, stride: 1, Device ID: 0710
Supported Page Size: 00000557, System Page Size: 00000001
SR-IOV Technology Preview Guide Page 3
Region 0: Memory at 0000000000000000 (64-bit, non-prefetchable)
VF Migration: offset: 00000000, BIR: 0
Example of the SR-IOV capabilities section output of the PF with SR-IOV disabled:
Capabilities: [180] Single Root I/O Virtualization (SR-IOV)
IOVCap: Migration-, Interrupt Message Number: 000
IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy-
IOVSta: Migration-
Initial VFs: 0, Total VFs: 0, Number of VFs: 0, Function Dependency
Link: 00
VF offset: 0, stride: 1, Device ID: 0710
Supported Page Size: 00000557, System Page Size: 00000001
Region 0: Memory at 0000000000000000 (64-bit, non-prefetchable)
VF Migration: offset: 00000000, BIR: 0
8. Create a virtual machine using the Virtual Machine Manager utility and install the RHEL6
operating system on the VM.
9. Boot into the VM and install version 3.0 of the OneConnect software installation package or
installation CD.
10. Shut down the VM.
11. Reload the newly installed NIC driver in the host (hypervisor) with the number of virtual PCI
functions (VFs) / physical functions (PFs) as module parameter:
rmmod be2net
modprobe be2net num_vfs=X
where X is the number of VF per PF.
12. Rerun the lspci command and note that X (as specified in step 11) is the number of virtual NIC
functions that have been added per PF in the output of lspci from step 7.
View the PCI bus:device:function details for the VFs that you want to assign to the VM by using
the lspci command, then detach these VFs from the host. For example, if the lspci output has an
entry similar to:
04:04.0 Ethernet controller:
Emulex Corp.Emulex OneConnect 10Gb NIC (be3) (rev 01)
use the following command:
virsh nodedev-dettach pci_0000_04_04_0
13. Use the Virtual Machine Manager GUI to attach the VF (from step 11) to the guest operating
system by using the add physical device option.
14. Start the RHEL6 guest operating system. Once the guest operating system is booted, use the
lspci command to confirm the visibility of the OneConnect NIC function. The output will show an
OneConnect NIC function, for example:
03:00.0 Ethernet controller: Emulex Corp. Emulex OneConnect 10Gb NI (be3)
15. The OneConnect NIC driver automatically loads and creates the network interfaces. Use the
ifconfig command to verify that the interface is created.
16. After configuring the network interfaces with proper IP addresses, you can send and receive
network traffic from the VM.
Note: The maximum number of virtual functions per physical function is 16.
SR-IOV Technology Preview Guide Page 4
Configuration
MAC Address for Virtual Function Interfaces
The Universal Converged Network Adapter (UCNA) is shipped with factory configured MAC addresses
for the network interfaces corresponding to the Physical Functions (PFs). The driver generates random
MAC addresses for the network interfaces corresponding to the Virtual Functions (VFs) using the factory
configured MAC address as seed. Other MAC addresses can be assigned for the interfaces
corresponding to the VF using the IP utility.
Configuring the MAC Address for the VF
To configure the MAC address for the VF, type:
# ip link set eth<X> vf <VFN> mac <MAC-ADDR>
where:
eth<X> is the interface corresponding to the physical function.
<VFN> is the VF number (0 based) corresponding to the interface for which you are configuring
the MAC address.
<MAC-ADDR> is the MAC address you are configuring.
Example:
# ip link set eth0 vf 0 mac 00:16:88:AA:BB:AA
Configuring VLAN on VF Interfaces Using vconfig
Transparent VLAN Tagging
When transparent tagging is configured for a VF, the NIC transparently tags all traffic from the VF with
the configured VLAN ID. The VM is not aware of the VLAN tag.
To assign a VLAN ID to the VF, run the following IP command in the host:
# ip link set eth<X> vf <VFN> vlan <VLAN>
where:
eth<X> is the interface corresponding to the physical function.
<VFN> is the VF number (0 based) corresponding to the interface for which you are configuring
the VLAN.
<VLAN> is the VLAN ID you are configuring.
Example:
# ip link set eth0 vf 0 vlan 5
SR-IOV Technology Preview Guide Page 5
Virtual Guest Tagging (VGT)
When VGT is configured, the guest operating system can configure any VLAN ID on the VF. To configure
VGT, run the IP link command with the VLAN ID of 4095. For example:
# ip link set eth0 vf 0 vlan 4095
Configuring Rate Limit on VF Interfaces
Configure the rate limit on a VF interface from the hypervisor using the ip command:
# ip link set eth<X> vf <VFN> rate <TX-RATE>
where:
eth<X> is the interface corresponding to the physical function.
<VFN> is the VF number (0 based) corresponding to the interface for which you are configuring the TX-
rate.
<TX-RATE> is the transmission rate in Mb/s that you are configuring. The TX-rate value is interpreted as
a percent of the maximum link speed (currently 10 Gb/s) irrespective of current PF QoS (Quality of
Service). The TX-rate value is not interpreted as an absolute QoS value.
For example, to set a transmit bandwidth rate limit of 5000 Mb/s for the VF 0, run the command:
# ip link set eth0 vf 0 rate 5000
The default rate for a VF is 100Mbps, which is the lowest rate you can program per function in
OneConnect.
Note: Only one VLAN ID per VF is currently supported.
Note: In the above example, the Tx rate value indicates that 50 percent of the PF QoS is
assigned to a VF.