Windows OpenFabrics

2.0 Release Notes

11/13/2008


Overview

Supported Platforms, Operating Systems and Infiniband Hardware

Installation Specifics

How to Install

Unattended Install plus Server2008/HPC

Setting the IPoIB Interface IP Address

Uninstall

Trouble Shooting

InfiniBand Subnet Management as a Windows Service

Local Network Adapter Ordering

Which WinOF release is installed?

QLogic VNIC Configuration

DAT & uDAPL Configuration

SRP - SCSI RDMA Protocol Driver Installation

WinVerbs

Known Issues


 

Overview

The Windows OpenFabrics (WinOF) release package is composed of software modules intended for use on Microsoft Windows based computer systems connected via an InfiniBand fabric.

 Binary files generated from the OpenIB-windows developers subversion (svn) source tree 'svn://openib.tc.cornell.edu' (branches\WOF2-0 svn revision 1763) are packaged into a WIX 2.0 (Windows Installer Xml) single file install package referred to as the Windows OpenFabrics (WinOF) release 2.0.
 

This WinOF 2.0 is a new release as it contains new functionality and bug fixes to numerous components:

The Windows OpenFabrics (WinOF) release package contains the following:

OpenFabrics InfiniBand core drivers and Upper Level Protocols (ULPs):

OpenFabrics utilities:

Documentation

<Return-to-Top>

 

Supported Platforms, Operating Systems and Infiniband Hardware

CPU architectures

Operating Systems

Supported HCAs (Host Channel Adapters)

Mellanox

Both SDR and DDR mode of the InfiniHost III family are supported.

For official Firmware (FW) versions and update tools please see:
http://www.mellanox.com/support/firmware_table.php
Current HCA firmware version can be viewed from the 'vstat' command.

Supported Switches

<Return-to-Top>

 

Installation Specifics

User mode tools and diagnostics are installed in '%SystemDrive%\Program Files (x86)\WinOF'.  Although driver modules initially reside in '%SystemDrive%\Program Files (x86)\WinOF', when installed the Windows device installer copies driver files to %SystemRoot%\system32 & %SystemRoot%\SysWOW64'. DAT & DAPL runtime libraries are installed into %SystemRoot% in order to be accessible to user mode applications.
WinOF user mode executables are designed to be run from a Command Prompt window; see  'Start->Program Files-> Windows OpenFabrics-> Command Prompt'.

'%SystemDrive%\Program Files (x86)\WinOF' is appended to the system wide search path; new command windows created after the installation will have the updated %PATH% environment variable, hence will be able to access WinOF executables.

The ‘default’ installation installs ‘released/free’ (not checked/debug) versions of drivers and executables. Debug/Checked versions are available as an install feature.

A single instance of a subnet manager, opensm.exe, must be running on a fabric connected node in order for the Infiniband fabric to be configured and useful; either Windows or Linux OFED opensm work well.

It is recommended that OpenSM be run as a Windows service.  A typical WinOF install will install OpenSM as a Windows service which is disabled; after an installation, choose your openSM node and start the openSM service.  See the WinOF Manual for details on opensm as a service.
By selecting the 'OpenSM_Service_Enabled' install feature, an OpenSM subnet management service will be automatically started.

Note, the opensm.exe process must continue to run in order to maintain Infiniband fabric configuration. Should the opensm.exe process die, restart the service if not automatic or re-run opensm.exe in order to continue correct fabric operation.

For more subnet management information, consult the Windows OpenFabrics manual.

<Return-to-Top>

 

How to Install

Requirements

Install HCA hardware prior to installing the Windows OpenFabrics Release package. Upon reboot, cancel any attempts to install new device hardware from the "Found New Hardware Wizard".

If you have previously installed openib-windows, WinOF (Windows OpenFabrics) packages or vendor supplied Infiniband packages, uninstall and reboot prior to installing this version of Windows OpenFabrics (WinOF).

For an existing Windows OpenFabrics (WinOF) uninstall
    Start-> Programs-> Windows OpenFabrics-> Uninstall WinOF
      -or-
    Control Panel -> Add or Remove Programs-> Windows OpenFabrics->Remove.

openib-windows (IB stack before WinOF 1.0 release) uninstall: (not the normal uninstall case, see previous discussion)

  1. Stop the openSM subnet manager if it is running on the local node.
  2. Disable any Local Area Connections which are bound to the IPoIB network adapter.
  3. Uninstall the IPoIB driver - My computer->Manage->Devices->Network Adapters->IPoIB*
  4. Uninstall the Infiniband HCA device; don't forget the System Device-> InfiniBand Fabric

 

REBOOT

Upon system restart, cancel the 'Found New Hardware Wizard' attempt to install drivers for newly discovered PCI device.

'My Computer->Manage->Device Manager' should display 'Other Devices->?PCI device' which is your Infiniband HCA device.

Install

From a login with administrator privileges, double-click the WinOF_M-m{-p}_OSE_arch.msi file to begin the Windows OpenFabrics installation. 

Where 'M-n{-p}' indicates Major release number, Minor release number, and optional point-release number.

 OSE - Operating System Environment:

'_arch_' will be one of

Follow the on-screen instructions.

Answer 'yes' or 'Continue' to any notifier windows which reference non-WHQL'ed driver installation.
These non-WHQL'ed driver install questions can not be disabled via 'My Computer->Properties->Hardware->Driver Signing->Ignore'.

Bottom-line - The digitally signed WinOF drivers in this package are not WHQL'ed per se, although they are built from driver source which has been or is in process of being WHQL'ed by hardware vendors which participate in the open source WinOF development process.

 

 **** WARNING ****

Should any 'Welcome to the Found New Hardware Wizard' windows popup after the WinOF install has started, just ignore (window will disappear in a few seconds) or 'Cancel' the errant popup window.  For Windows Server 2003 (SP1) you can safely ignore the errant FNHW popup window; for Windows XP (SP2) the errant FNHW popups need to be 'cancelled' in order for the WinOF install to proceed. The report back from Microsoft on these 'Found New Hardware Wizard' windows popping up, is they are due to the fact the WinOF drivers are not WHQL'ed and hence are not trusted by Windows; MS claims this is a 'feature'.

An artifact of cancelling an errant 'Found New Hardware' popup window may induce an errant taskbar Information notifier/bubble indicating there may have been problems installing your hardware drivers; IGNORE/cancel this information bubble, likely the device installation proceeded without error. Check the Device Manager views for the Infiniband HCA and IPoIB Network Adapters for initial verification of correct installation.

You do need to answer 'Yes' or 'Continue' to those notifier windows which reference non-WHQL driver installation. If you have previously set My Computer->Properties->Hardware->Driver Signing->Ignore, the FNHW windows likely will occur anyway.

Should the install appear to hang, look around for occluded notifier windows waiting for a response which are covered by existing windows.
 

Install type: Custom only

<Return-to-Top>

 

Unattended Install

To perform a silent/unattended installation for Server 2003/XP, invoke the following command from a command window; Server 2008/HPC see notes below.

start/wait msiexec.exe /i WinOF_2-0_wlh_x64.msi /quiet /log %TEMP%\WOF_install.log

'/log dev:path\logFilename.log' is optional.

msiexec.exe /? for all options.

An unattended install will install the following 'default' install options:

Should WSD not be a desirable unattended install option (Win2008/3 only), currently you would install unattended then execute the command 'installsp -r' on each node to remove WSD.

Server 2008/HPC notes

Device drivers in WinOF 2.0, and later releases, are Digitally signed although they are not WHQL'ed (Windows Quality Hardware Labs) certified. The lack of WHQL certification impacts unattended installs by requiring the user to 'accept' installation of the non-WHQL'ed driver the first time a compute node is installing WinOF drivers via the WinOF .msi installer.  Additionally the non-WHQL driver notifier box has a checkbox which allows establishing a trust for software from the publisher 'OpenFabrics Alliance'. Checking this box allows future WinOF driver installs to proceed without user intervention as you have indicated to Windows that you trust non-WHQL drivers from the Openfabrics Alliance software publisher.

***** Warning *****
WinOF .msi installs on compute nodes the first time require human input to 'accept' installation of non-WHQL'ed drivers along with establishing a trust for the SW publisher 'OpenFabrics Alliance'.
If one attempts an unattended WinOF .msi install using 'clusrun.bat msiexec /i WinOF.....msi /quiet', the install will silently hang waiting for user input.
First time unattended WinOF .msi installs need mouse input to complete.  Once the SW publisher trust has been established, future unattended WinOF .msi installs procees without human input.

Be aware: if a node is reimaged (saem or different template applied) the established trust of OpenFabric Alliance is destroyed, thus the non-WHQL driver notifier box and ensuing human input is again required on the first WinOF .msi install.

Windows Deployment Manager usage for HPC compute node provisioning

Microsoft has chosen the WDM to provision HPC cluster compute nodes. WinOF 2.0 supports an administrative install mode which is a method to extract the WinOF  files without actually installing them, thus making WinOF driver files accessible for WDM provisioning.

msiexec /a WinOF_2-0_wlh_x64.msi TARGETDIR=dev:\path-to-extracted-files

example:  msiexec /a WinOF_2-0_wlh_x64.msi TARGETDIR=C:\windows\Temp\WOF    (note: TARGETDIR is case sensitive)

The above command creates the following folder structure:
C:\windows\Temp\WOF\PFiles\WinOF\
    IBcore\mthca.inf             Mellanox InfiniHost HCA driver
    IBcore\mlx4_bus.inf        Mellanox ConnectX bus driver
    IBcore\mlx4_hca.inf        Mellanox ConnectX HCA driver (both ConnectX drivers required).
    net\netipoib.inf                IPoIB + Network Direct IB provider + WSD (Winsock Direct) provider.

See Unattended Installations for further references.

<Return-to-Top>

 

Setting the IPoIB Interface IP Address

The Windows command 'netsh' will assist in assigning an IP address to an IPoIB interface.
By default, an IPoIB interface is configured to use DHCP. The following discussion deals with setting a static IP address on an IPoIB interface.
If your system has two Ethernet ports, then IPoIB interfaces (HCA port 1, 2...) will be assigned to 'Local Area Connection 3' and 'Local Area Connection 4'.  If you system has a single Ethernet port, then IPoIB interface is Local Area Connection 2'.

For Server 2008/HPC systems, the WinOF installation follows the above discussion. In defining HPC network interfaces, the IPoIB network can be identified as the 'Application' network. In this case, a few minutes after a compute node is installed, the local network manager will rename the installed IPoIB 'Local Area Connection X' network interface to the 'Application' network.

Display all network interface configuration information
        netsh interface ip show config
        netsh interface ip show address "Local Area Connection 3"

Config a static IP address for an IPoIB interface: [Local Area Connection 3 == 1st IPoIB interface], 10.10.4.23 is the assigned IP address
with a netmask of 255.255.255.0, the gateway is 10.10.4.1 metric is 2.

        netsh interface ip set address "Local Area Connection 3" static 10.10.4.23 255.255.255.0 10.10.4.1 2

See netsh for further reference.

<Return-to-Top>

 

Uninstall

To uninstall a WinOF package from a single node

  1. Programs-> Windows OpenFabrics-> Uninstall WinOF
  2. Control Panel-> Add Remove Programs-> Windows OpenFabrics-> Remove

Unattended Uninstall

From a Command Window invoke the following command; a system reboot will occur after the uninstall.

start/wait msiexec.exe  /x {3A6A276E-A636-48E8-8624-9A0DE3F2A15E} /quiet /forcerestart
  - or -
start/wait msiexec.exe  /x WinOF_wlh_2-0_x64.msi /quiet /forcerestart        # WinOF_xxxx.msi is the file used to install WinOF.

msiexec.exe /help for details.

'/log dev:path\logfilename.log'  if you wish to later view the install results.

If for some reason the Product Code {GUID} changes, the latest code can be located via
Programs-> Windows OpenFabrics-> Uninstall WinOF<right-click>Properties

Infrequently, the 'System Device->Infiniband Fabric' may not correctly uninstall. Make sure the Infiniband Fabric device is completely uninstalled; use device manager for checking. The effect of a partially uninstalled Infiniband Fabric device is IPoIB load failure upon the next WinOF install.

<Return-to-Top>

 

Trouble Shooting

Vista installs can fail to install the HCA driver due to protection failures - installing from a non-privileged Administrator window or double-clicking the .msi file.
Startup a privileged Administrator command window (Start->Command Prompt->Right-click->Run as Administrator) and execute: msiexec /I WinOF_xxx_yyy.msi

To create a LOG file of your WinOF installation, execute this command: msiexec /I WinOF_xxx_yyy.msi  /Lv %TEMP%\WOF-install.log
View %TEMP%\WOF-install.log

msiexec /? for details.

Server 2008 or Vista can also fail to install due to driver install files left over from previously failed install attempts; see %windir%\system32\DriverStore\{Temp|FileRepository}. Look for folders with the following in the folder name: mthca, mlx4_, netipoib, srp, vnic. Once you have located one of these folders you need to remove it as win2k8/Vista will use these files instead of what your attempting to install.; removing the folders is a pain.
Right-click the folder and select Properties->Security->Advanced, select owner tab, select Edit button, select Administrator and check the 'Replace owner on subcontainers and objects', now click 'OK', OK again, select Edit button from the securities tab, check allow 'Full Control' box and click OK, OK again. At this point you should be back to the file explorer. Now you can delete the folder!

Setupapi.log has moved in Server 2008/Vista, see '%windir%\inf\setupapi-dev.log'. Setupapi-*.log can at times contain useful install debug info.

Down rev firmware will result in IPoIB not installing or other anonmolus behavior. Consult the event viewer, system error records, look for 'mthca' or 'mlx4*' entries generated when the HCA driver loads. One of the mthca or mlx4 entries will display the current firmware revision.

Firmware version information and updates are available at www.mellanox.com/support/firmware_download.php

If HCA FW is older than minimal FW
Error reported to system event log
HCA loads as memory controller to allow FW upgrade
If HCA  FW is equal or newer than optimal version
 
HCA starts OK.
Else
HCA loads OK.
Warning will be issued to system event log
My computer-> Manage-> Event Viewer-> System Events; search for mthca, mlx4 or ipoib entries.

<Return-to-Top>

 

Incomplete Previous Uninstall

Should the previous uninstall silently fail, the next installation can fail in the Driver Install phase with the following error:
    DriverInstall - HCA Ret 2 Error 0

At this juncture, check the Device Manager and uninstall the PCI device from 'InfiniBand Host Channel Adapters', and make sure you uninstall the system device 'InfiniBand Fabric' if it is present.

REBOOT and retry the WinOF installation again.

See ibscan.bat and ibcleanup.bat @ http://www.openfabrics.org/downloads/WinOF/etc/.
ibscan will display WinOF files on your system.
ibcleanup will attempt to remove all WinOF files from your syste. WARNING - ibcleanup is not valid as a WinOF uninstall tool!

<Return-to-Top>

 

Correct Installation Validation

From the Device Manager you should find the following devices:

Validation Test

Open a WinOF command window

  1. Start->Program Files->Windows OpenFabrics -> Command Window
  2. run vstat.exe to view HCA configuration.
  3. If IPoIB is installed (Device Manager->Network Adapters), ping another node on the InfiniBand fabric 'ping a.b.c.d'
     

<Return-to-Top>

 

Subnet Management as a Windows Service

Limit the number of Subnet Managers on your fabric; one SM per fabric is sufficient, although redundant Subnet Managers are supported.

  1. After a 'typical' WinOF install, OpenSM is installed as a disabled Windows service named "InfiniBand Subnet Management". To start the OpenSM service, use My computer->Manage->Services and Applications->Services->InfiniBand Subnet Manager->Start.
    Set the service properties to 'auto' in order to restart upon the next system reboot.
     
  2. Install OpenSM as an automatic/running Windows service:
    a) Request a 'Custom' install, selecting the 'OpenSM_service_enabled' feature. Once the install has completed, check that the Infiniband Subnet Manager service is running: My computer->Manage->Services and Applications->Services->InfiniBand Subnet Manager.
     
  3. Consult the OpenSM log file @ %SystemRoot%\temp\osm.log to see what OpenSM thinks is happening.

<Return-to-Top>

 

Local Network Adapter Ordering

Local Network Adapter ordering, which results in the IP address advertised for the system, can be managed from
    'My Network Places-> Advanced Tab-> Advanced settings'
From the Advanced settings display, the ordering of Local Network Adapters can be reordered after the IPoIB Local Network Adapters have been installed. Please check for your desired adapter ordering.

<Return-to-Top>

 

Which WinOF release is installed?

  1. Add/Remove Programs entry identifies the WinOF release version.
  2. Start->Programs->Windows OpenFabrics->Release Notes  (2nd Line)
  3. Driver confirmation:
        Query My Computer-> Manage-> Device Manager-> Network Adapters-> OpenFabrics IPoIB Adapter-> Properties-> Driver-> Details
        The subversion (svn) revision number will be listed under 'Driver Version'. The svn revision number will match what's listed in the release notes.
  4. Hold the mouse point over \Program Files(x86)\WinOF\ib_read_bw.exe to display the file version; [WinOF-Major.Minor.not-used.svn revision number].

<Return-to-Top>

 

QLogic VNIC Configuration

The QLogic VNIC (Virtual Network Interface Card) driver in conjunction with the QLogic Ethernet Virtual I/O Controller (EVIC) provides virtual Ethernet interfaces and transport for Ethernet packets over Infiniband.

Users can modify NIC parameters through User Interface icon in Network Connections:
( Properties->"Configure..." button -> "Advanced" Tab).

Parameters available:

Vlan Id (802.1Q) 

  values from 0 to 4094 ( default 0, disabled )
  This specifies if VLAN ID-marked packet transmission is enabled and, if so, specifies the ID.

Priority (802.1P)

  values from 0 to 7 ( default 0, feature disabled)
  This specifies if priority-marked packet transmission is enabled.

Payload MTU size 

  values from 1500 to 9500 (default 1500)
  This specifies the maximum transfer unit size in 100 bytes increments.

Recv ChkSum offload 

  (default enabled)
  This specifies if IP protocols checksum calculations for receive is offloaded.

Send ChkSum offload

  (default enabled)
  This specifies if IP protocols checksum calculations for send is offloaded.
 

Secondary Path 

   (default disabled)
   Enabled - If more than one IB path to IOC exist then secondary IB instance of virtual port will be created and configured with the same parameters as primary one. Failover from Primary to Secondary IB path is transparent for user application sending data through associated NIC.

   Disabled – only one path at a time is allowed. If more than one path to IOC exists then failed path will be destroyed and next available path will be used for new connection. With this scenario there is a possibility new interface instance will be assigned different MAC address when other hosts compete for EVIC resources.
 

LBFO Bundle Id
   (default disabled) Enabling support for OS provided Load Balancing and Fail Over functionality on adapter level.
   If enabled group ID can be selected from predefined names.

 

Heartbeat interval

   configures interval for VNIC protocol heartbeat messages in milliseconds.
   0 – heartbeats disabled.

Note:
   To take advantage of the features supported by these options, ensure that the Ethernet gateway is also configured appropriately.  For example, if the Payload MTU for a VNIC interface is set to 4000, the MTU at the EVIC module must also be set at least 4000 for the setting to take effect.

<Return-to-Top>

 

DAT & uDAPL Configuration

In order for DAT/DAPL programs to execute correctly, the 'dat.dll' file must be present in the current directory, %SystemRoot% or in the library search path.

WinOF installation places the dat.dll and dapl.dll files in the '%SystemRoot%' folder (a.k.a. \Windows).

The DAT/DAPL configuration file by convention is defined as '%SystemDrive%\DAT\dat.conf'. If the file '%SystemDrive%\DAT\dat.conf' does not exist, a template configuration file will be installed as '%SystemDrive%\DAT\dat.conf'.
In order to preserve existing installations, the dat.conf file is not automatically installed if '%SystemDrive%\DAT\dat.conf' exists.
A sample dat.conf file is always installed as '\Program Files (x86)\WinOF\dat.conf '.

The default DAT configuration file specification can be overridden by use of the environment variable DAT_OVERRIDE. Such that 'DAT_OVERRIDE=D:\MyDAT\test.conf' would be a valid override specification.

Within the dat.conf file, the DAPL library specification can be located as the 5th whitespace separated line argument. By default the DAPL library file is installed as %WINDIR%\dapl.dll'.

Should you choose to relocate the DAPL library file to a folder where whitespace appears in the full library path specification, then the full library file specification must be contained within double-quotes. A side effect of the double-quotes is the library specification is treated as a Windows string which implies the '\' (backslash character) is treated as an 'escape' character.  Hence all backslashes in the library path must be duplicated when enclosed in double-quotes (e.g., "C:\\Programs Files (x86)\\WinOF\\dapl.dll").

DAT/DAPL version 2.0 runtime libraries are identified as dat2.dll and dapl2.dll, both in %SystemRoot%; see manual for further details.
 

<Return-to-Top>

 

SRP - SCSI RDMA Protocol Driver Installation

The WinOF stack does not install the SRP driver by default.  If SRP is selected in the custom installation window, it will only be copied during WinOF installation. To complete the SRP driver installation, an SRP target must be detected; a Subnet Manager must be running somewhere in the InfiniBand subnet.

Upon the detection of an SRP target, the "New Hardware Found" Wizard pops up.
- Select Install Automatically and click Next. This installs the I/O unit device.

Once completed, the "New Hardware Found" Wizard pops up again.
- Select Install Automatically and click Next. This installs the SRP driver.

<Return-to-Top>

 

WinVerbs technology preview

WinVerbs is a userspace verbs and communication management interface optimized
for the Windows operating system. Its lower interface is designed to support
any RDMA based device, including Infiniband and iWarp. Its upper interface is
capable of providing a low latency verbs interface, plus supports Microsoft's
Network Direct Interface, DAPL, and OFED libibverbs interfaces. It consists of
a userspace library and a kernel filter driver.

The WinVerbs driver loads as an upper filter driver for Infiniband HCA.
(Open source iWarp drivers for Windows are not yet available.) A corresponding
userspace library installs as part of the Winverbs driver installation package.
Additionally, a Windows port of the OFED libibverbs library and several test
programs are also included.

To install WinVerbs and it's test applications, select the 'WinVerbs' feature from the WinOF installer (.msi).
WinVerbs drivers are installed to %ProgramFiles(x86)%\WinOF\WinVerbs, although the drivers are not automatically loaded.
In order to make WinVerbs test applications usable, WinVerbs drivers must be manually loaded.
cd %ProgramFiles(x86)%\WinOF\WinVerbs
right-click on winverbs.inf, select 'install'.
Once WinVerbs is right-click installed, the HCA driver must be disabled and then enabled in order for the winverbs upper filter driver to be integrated into the HCA driver stack; see HCA driver properties->details, look for winverbs.

Check if winverbs filter driver is active
    %ProgramFiles(x86)%\WinOF\IBcore\devman classfilter InfiniBandController upper

Remove winverbs filter driver
    %ProgramFiles(x86)%\WinOF\IBcore\devman classfilter InfiniBandController upper !winverbs
 

<Return-to-Top>
 

Known Issues

<Return-to-Top>