Enabling RDMA User Mode
=======================


Contents
--------
- Overview
- Prerequisites
- Installation
- Enabling and Disabling NDIS Ethernet Adapters
- RDMA User Mode Driver Installation
- RDMA Configuration
  - RoCEv2 Configuration
  - iWARP Configuration
  - RDMA Routing Configuration
- Reloading NDIS Drivers


Overview
========
This guide provides step-by-step instructions for enabling RDMA User Mode. This process involves installing the Intel Network Driver (indv2), configuring NDIS ports, and setting up RDMA for either iWARP or RoCEv2.


Prerequisites
=============
You must have the latest Intel Network Driver (indv2) and NDIS Drivers downloaded from Intel's official website.


Installation
============
1. Download the indv2 driver from Intel Download Center.
2. Save the downloaded zip file to your system and extract its contents.
3. Follow the installation instructions below to install the driver.


Enabling and Disabling NDIS Ports
=================================
Installing and configuring User Mode RDMA requires disabling and enablign the NDIS drivers. You can do this either programmatically or through Device Manager.

Warning: Please ensure that you do not disable any ports that are currently in use or cannot lose link.

Option 1: Programmatically
--------------------------
1. Open PowerShell with administrative privileges.
2. Execute the following commands to disable and then enable the network adapter:
   
   PS C:\> Disable-NetAdapter -Name "" -Confirm:$false
   PS C:\> Enable-NetAdapter -Name "" -Confirm:$false
   
   Replace "" with the InterfaceDescription of the network adapter. You can find the InterfaceDescription by running:
   
   PS C:\> Get-NetAdapter
   
Option 2: Through Device Manager
--------------------------------
1. Open Device Manager.
2. Locate the network adapter you wish to reload.
3. Right-click on the adapter and select Disable.
4. Wait a few seconds, then right-click on the adapter again and select Enable.


RDMA User Mode Driver Installation
==================================
Installation of the RDMA User Mode driver requires you to first disable the NDIS ports which will use it.

You have two options to install the driver:

Option 1: Right-Click Installation
----------------------------------
1. Locate the downloaded zip and extract its contents.
2. Right-click on the driver file (e.g., `indv2.inf`) and select Install.

Option 2: Command Line Installation
-----------------------------------
1. Open PowerShell with administrative privileges.
2. Execute the following command, replacing ".\indv2.inf" with the path to the driver ".inf" file:

   PS C:\> pnputil.exe /add-driver ".\indv2.inf" /install

After installation, enable the NDIS ports to start using User Mode RDMA.


RDMA Configuration
==================
You can configure your system for either iWARP or RoCEv2.


RoCEv2 Configuration
--------------------
To enable RoCEv2, the network direct technology must be configured:

1. Open PowerShell with administrative privileges..
2. Configure the network direct technology:

   PS C:\> Get-NetAdapterRdma | Get-NetAdapterAdvancedProperty -DisplayName "NetworkDirect Technology" | Set-NetAdapterAdvancedProperty -DisplayValue RoCEv2


iWARP Configuration
-------------------
To enable iWARP, the network direct technology must be configured as well as a firewall:

1. Open PowerShell with administrative privileges.
2. Configure the network direct technology:

   PS C:\> Get-NetAdapterRdma | Get-NetAdapterAdvancedProperty -DisplayName "NetworkDirect Technology" | Set-NetAdapterAdvancedProperty -DisplayValue iWARP

3. Execute the following cmdlet to create a firewall rule:
   
   PS C:\> New-NetFirewallRule -Description 'Inbound rule that allows the Intel(R) Ethernet iWARP feature to communicate with network peers.'
                       -DisplayName 'Intel(R) Ethernet Port Mapper Service for iWARP'
                       -Direction Inbound
                       -LocalPort 3935
                       -Protocol UDP
                       -Profile "<Profiles>"
   
   Replace "<Profiles>" with a comma separated list of one or more of the following profiles: Domain, Private, Public.


RDMA Routing Configuration
--------------------------
To configure RDMA Routing, which is applicable to both iWARP and RoCEv2:

1. Open PowerShell with administrative privileges.
2. Execute the following cmdlet:
   
   PS C:\> Set-NetOffloadGlobalSetting -NetworkDirectAcrossIPSubnets Allowed


Reloading NDIS Drivers
======================
To fully utilize the RDMA User Mode, you need to reload the NDIS drivers after installing and configuring it. You can do this either programmatically or through Device Manager by disabling and enabling the NDIS driver as explained above.


Legal / Disclaimers
===================

Copyright (C) 2025 Intel Corporation

This software and the related documents are Intel copyrighted materials, and your use of them is governed by the express license under which they were provided to you ("License"). Unless the License provides otherwise, you may not use, modify, copy, publish, distribute, disclose or transmit this software or the related documents without Intel's prior written permission.

This software and the related documents are provided as is, with no express or implied warranties, other than those that are expressly stated in the License.

Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.