How to Configure and Verify RDMA and Network Direct on Windows 11 Using PowerShell

Remote Direct Memory Access (RDMA) is a high-performance networking technology that allows network adapters to transfer data directly between application memory spaces across separate machines without involving either host operating system kernel or CPU. By bypassing standard TCP/IP protocol stack overhead, RDMA achieves near-zero latency, microsecond response times, and exceptional throughput on workloads such as SMB Direct file transfers, Microsoft Hyper-V live migrations, and distributed SQL database replicas. On Windows 11, administrators and workstation power users can inspect hardware capabilities, enable RDMA, and audit Network Direct kernel providers using native PowerShell cmdlets.

Understanding RDMA and Network Direct on Windows

In the Windows networking architecture, RDMA functionality is managed through the Network Direct interface (NDI). Network Direct acts as the OS kernel provider mediating communication between high-level user applications (such as the SMB 3 client and server) and underlying RDMA hardware drivers.

Windows 11 supports the primary industry-standard RDMA transport protocols:

  • RoCEv2 (RDMA over Converged Ethernet v2): Operates across standard Ethernet switching infrastructure using UDP encapsulation, requiring Priority Flow Control (PFC) or explicit congestion notification (ECN) for lossless packet delivery.
  • iWARP (Internet Wide Area RDMA Protocol): Delivers RDMA semantics on top of standard TCP/IP transport, functioning across conventional, unmanaged Ethernet switches without requiring lossless PFC configuration.
  • InfiniBand: High-bandwidth, purpose-built fabric delivering ultra-low-latency interconnects in high-performance computing (HPC) clusters.

Verifying Hardware and Driver RDMA Capabilities

RDMA requires dedicated physical network adapter hardware (such as Mellanox/NVIDIA ConnectX, Intel Ethernet 800 Series, or Chelsio adapters) and certified Network Direct drivers. Open an elevated PowerShell session (Run as Administrator) and inspect the RDMA status across all installed adapters:

Get-NetAdapterRdma

For each installed adapter, the command reports:

  • Name: The interface friendly name (e.g., Ethernet 2).
  • InterfaceDescription: The physical device brand and chipset identifier.
  • Enabled: Indicates whether the adapter driver currently exposes RDMA capabilities (True or False).
  • Operational: Reports whether the physical link supports active RDMA traffic (True or False).

To inspect advanced hardware parameters and supported transport modes, run:

Get-NetAdapterAdvancedProperty | Where-Object { $_.DisplayName -match "RDMA|RoCE|iWARP|NetworkDirect" }

Enabling and Configuring RDMA on an Adapter

If your network adapter supports RDMA but reports Enabled: False, you can activate it using the Enable-NetAdapterRdma cmdlet:

Enable-NetAdapterRdma -Name "Ethernet 2"

To verify that the configuration applied successfully, re-query the RDMA adapter status:

Get-NetAdapterRdma -Name "Ethernet 2" | Format-List *

This detailed list reveals whether the adapter has successfully registered with the Network Direct kernel provider, along with the active RDMA transport mode (such as RoCEv2 or iWARP).

Auditing Network Direct Providers in PowerShell

The Windows kernel maintains a registry of registered Network Direct providers that map application memory to network adapter registers. To query the active Network Direct providers registered on your system, use the Get-NetAdapterHardwareInfo and provider diagnostic queries in PowerShell:

Get-CimInstance -Namespace root\StandardCimv2 -ClassName MSFT_NetAdapterRdmaSettingData

This query returns the low-level provider GUIDs and properties, confirming that user-mode applications can successfully negotiate direct memory mapping through the Windows Network Direct interface.

Testing RDMA Throughput with SMB Direct

The most common and effective way to validate active RDMA operation on Windows 11 is through SMB Direct file sharing. When two machines connected via RDMA-capable adapters communicate over SMB 3.0 or later, Windows automatically establishes an SMB Direct session.

To inspect active SMB Direct network interfaces, run:

Get-SmbServerNetworkInterface | Where-Object { $_.RdmaCapable -eq $True }

To check the client side interface capabilities:

Get-SmbClientNetworkInterface | Where-Object { $_.RdmaCapable -eq $True }

While performing a large file transfer (such as moving an ISO or VHDX file between machines), inspect the live SMB Direct connections:

Get-SmbMultichannelConnection

The output reports the active interface pairs. If RDMA is actively offloading the transfer, the Client RDMA Capable and Server RDMA Capable columns both display True, and CPU utilisation in Task Manager remains below 2% even at 25 Gbps or 40 Gbps transfer rates.

Disabling RDMA for Diagnostic Troubleshooting

If you encounter intermittent network disconnections, packet loss on unmanaged switches, or driver conflicts during troubleshooting, you can disable RDMA on a specific interface without disabling the adapter itself:

Disable-NetAdapterRdma -Name "Ethernet 2"

When disabled, the adapter gracefully falls back to standard kernel TCP/IP networking, ensuring uninterrupted network access while you update adapter firmware or adjust switch flow control settings.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.