Chapter 2. Configuring Soft-iWARP

Remote Direct Memory Access (RDMA) uses several libraries and protocols over an Ethernet such as iWARP, Soft-iWARP for performance improvement and aided programming interface.

2.1. Overview of iWARP and Soft-iWARP

Remote direct memory access (RDMA) uses the Internet Wide-area RDMA Protocol (iWARP) over Ethernet for converged and low latency data transmission over TCP. Using standard Ethernet switches and the TCP/IP stack, iWARP routes traffic across the IP subnets. This provides flexibility to efficiently use the existing infrastructure. In Red Hat Enterprise Linux, multiple providers implement iWARP in their hardware network interface cards. For example, cxgb4, irdma, qedr, and so on.

Soft-iWARP (siw) is a software-based iWARP kernel driver and user library for Linux. It is a software-based RDMA device that provides a programming interface to RDMA hardware when attached to network interface cards. It provides an easy way to test and validate the RDMA environment.

2.2. Configuring Soft-iWARP

Soft-iWARP (siw) implements the Internet Wide-area RDMA Protocol (iWARP) Remote direct memory access (RDMA) transport over the Linux TCP/IP network stack. It enables a system with a standard Ethernet adapter to interoperate with an iWARP adapter or with another system running the Soft-iWARP driver or a host with the hardware that supports iWARP.


The Soft-iWARP feature is provided as a Technology Preview only. Technology Preview features are not supported with Red Hat production Service Level Agreements (SLAs), might not be functionally complete, and Red Hat does not recommend using them for production. These previews provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

See Technology Preview Features Support Scope on the Red Hat Customer Portal for information about the support scope for Technology Preview features.

To configure Soft-iWARP, you can use this procedure in a script to run automatically when the system boots.


  • An Ethernet adapter is installed


  1. Install the iproute, libibverbs, libibverbs-utils, and infiniband-diags packages:

    # dnf install iproute libibverbs libibverbs-utils infiniband-diags
  2. Display the RDMA links:

    # rdma link show
  3. Load the siw kernel module:

    # modprobe siw
  4. Add a new siw device named siw0 that uses the enp0s1 interface:

    # rdma link add siw0 type siw netdev enp0s1


  1. View the state of all RDMA links:

    # rdma link show
    link siw0/1 state ACTIVE physical_state LINK_UP netdev enp0s1
  2. List the available RDMA devices:

    # ibv_devices
     device                 node GUID
     ------              ----------------
     siw0                0250b6fffea19d61
  3. You can use the ibv_devinfo utility to display a detailed status:

    # ibv_devinfo siw0
        hca_id:               siw0
        transport:            iWARP (1)
        fw_ver:               0.0.0
        node_guid:            0250:b6ff:fea1:9d61
        sys_image_guid:       0250:b6ff:fea1:9d61
        vendor_id:            0x626d74
        vendor_part_id:       1
        hw_ver:               0x0
        phys_port_cnt:          1
            port:               1
                state:          PORT_ACTIVE (4)
                max_mtu:        1024 (3)
                active_mtu:     1024 (3)
                sm_lid:         0
                port_lid:       0
                port_lmc:       0x00
                link_layer:     Ethernet