fi_netdir(7)

NAME

fi_netdir - The Network Direct Fabric Provider

OVERVIEW

The Network Direct provider enables applications using OFI to be run over any verbs hardware (Infiniband, iWarp and etc). It uses the Microsoft Network Direct SPI for network transport and provides a translation of OFI calls to appropriate Network Direct API calls. The Network Direct providers allows to OFI-based applications utilize zero-copy data transfers between applications, kernel-bypass I/O generation and one-sided data transfer operations on Microsoft Windows OS. An application is able to use OFI with Network Direct provider enabled on Windows OS to expose the capabilities of the networking devices if the hardware vendors of the devices implemented the Network Direct service provider interface (SPI) for their hardware.

SUPPORTED FEATURES

The Network Direct provider support the following features defined for the libfabric API:

Endpoint types : The provider support the FI_EP_MSG endpoint types.

Memory registration modes : The provider implements the FI_MR_BASIC memory registration mode.

Data transfer operations : The following data transfer interfaces are supported for the following endpoint types: FI_MSG, FI_RMA. See DATA TRANSFER OPERATIONS below for more details.

Modes : The Network Direct provider requires applications to support the following modes: * FI_LOCAL_MR for all applications.

Addressing Formats : Supported addressing formats include FI_SOCKADDR, FI_SOCKADDR_IN, FI_SOCKADDR_IN6

Progress : The Network Direct provider supports FI_PROGRESS_AUTO: Asynchronous operations make forward progress automatically.

Operation flags : The provider supports FI_INJECT, FI_COMPLETION, FI_TRANSMIT_COMPLETE, FI_INJECT_COMPLETE, FI_DELIVERY_COMPLETE, FI_SELECTIVE_COMPLETION

Completion ordering : RX/TX contexts: FI_ORDER_STRICT

Other supported features : Multiple input/output vector (IOV) is supported for FI_RMA read/write and FI_MSG receive/transmit operations.

LIMITATIONS

The Network Direct is an experimental provider. The full support of the Network Direct provider will be added to 1.6 release version of libfabric.

Memory Regions : Only FI_MR_BASIC mode is supported. Adding regions via s/g list is supported only up to a s/g list size of 1. No support for binding memory regions to a counter.

Wait objects : Wait object and wait sets are not supported.

Resource Management : Application has to make sure CQs are not overrun as this cannot be detected by the provider.

Unsupported Endpoint types : FI_EP_DGRAM, FI_EP_RDM

Other unsupported features : Scalable endpoints, FABRIC_DIRECT

Unsupported features specific to MSG endpoints : FI_SOURCE, FI_TAGGED, FI_CLAIM, fi_ep_alias, shared TX context, operations.

RUNTIME PARAMETERS

The Network Direct provider checks for the following environment variables.

  Variables specific to RDM endpoints

FI_NETDIR_INLINETHR : The size of the (default: 8 Kbyte): * Transmitted data that can be inlined * Preposted data for the unexpected receive queue

FI_NETDIR_PREPOSTCNT : The number of pre-registered buffers between the endpoints that are not require internal ACK messages, must be a power of 2 (default: 8).

FI_NETDIR_PREPOSTBUFCNT : The number of preposted arrays of buffers, must be a power of 2 (default: 1).

  Environment variables notes

The fi_info utility would give the up-to-date information on environment variables: fi_info -p netdir -e

SEE ALSO

fabric(7), fi_open_ops(3), fi_provider(7), fi_getinfo(3) fi_atomic(3)

AUTHORS
OpenFabrics.