Remote Direct Memory Access, or RDMA, allows a computer to access another computer's memory without interacting with either computer's operating system data buffers, thus increasing networking speed and throughput. Internet Wide Area RDMA Protocol (iWARP) is a protocol for implementing RDMA across Internet Protocol networks.
Microsoft* Windows* provides two forms of RDMA: Network Direct (ND) and Network Direct Kernel (NDK). ND allows user-mode applications to use iWARP features. NDK allows kernel mode Windows components (such as File Manager) to use iWARP features. NDK functionality is included in the Intel base networking drivers. ND functionality is a separate option available during Intel driver and networking software installation. If you plan to make use of iWARP features in applications you are developing, you will need to install the user-mode Network Direct (ND) feature when you install the drivers. (See Installation below.)
NOTES:
|
The Intel® Ethernet User Mode iWARP Provider is supported on Linux* operating systems and Microsoft* Windows Server* 2012 R2 or later. For Windows installations, Microsoft* HPC Pack or Intel® MPI Library must be installed.
NOTE: For installing the Intel® Ethernet User Mode iWARP Provider on Windows Server 2016 Nano Server, see Installing on Nano Server below. |
Network Direct Kernel (NDK) features are included in the Intel base drivers. Follow the steps below to install user-mode Network Direct (ND) iWARP features.
Follow the steps below to install the Intel® Ethernet User Mode iWARP Provider on Microsoft Windows Server 2016 Nano Server.
NDK Mode 3 allows kernel mode Windows components to use iWARP features inside Hyper-V guest partitions. To enable NDK mode 3 on an Intel Ethernet device, do the following:
New-VMSwitch -Name <switch_name> -NetAdapterName <device_name>
-EnableIov $true
Set-NetAdapterAdvancedProperty -Name <device_name> -RegistryKeyword RdmaMaxVfsEnabled -RegistryValue <Value: 0 – 32>
Get-NetAdapterRdma | Disable-NetAdapter
Get-NetAdapterRdma | Enable-NetAdapter
Add-VMNetworkAdapter -VMName <vm_name> -VMNetworkAdapterName <device_name> -SwitchName <switch_name>
Set-VMNetworkAdapterRdma -VMName <vm_name> -VMNetworkAdapterName <device_name> -RdmaWeight 100
Set-VMNetworkAdapter -VMName <vm_name> -VMNetworkAdapterName <device_name> -IovWeight 100
Set-NetAdapterAdvancedProperty -Name <device_name> -RegistryKeyword RdmaVfEnabled -RegistryValue 1
Get-NetAdapterRdma | Enable-NetAdapterRdma
Verify that RDMA was successfully enabled by checking the "RDMA Capable" field. Run:
Get-SmbServerNetworkInterface
If the "RDMA Capable" field reports false, try disabling and re-enabling RDMA capabilities in the VM:
Get-NetAdapterRdma | Disable-NetAdapterRdma
Get-NetAdapterRdma | Enable-NetAdapterRdma
If the "RDMA Capable" field still reports false, try disabling and re-enabling the physical functions on the host:
Get-NetAdapterRdma | Disable-NetAdapter
Get-NetAdapterRdma | Enable-NetAdapter
Copyright (C) 2018, Intel Corporation. All rights reserved.
Intel Corporation assumes no responsibility for errors or omissions in this document. Nor does Intel make any commitment to update the information contained herein.
Intel is a trademark of Intel Corporation in the U.S. and/or other countries.
*Other names and brands may be claimed as the property of others.
This software is furnished under license and may only be used or copied in accordance with the terms of the license. The information in this manual is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Intel Corporation. Intel Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with this document. Except as permitted by such license, no part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without the express written consent of Intel Corporation.