This is usually performed by a configuration utility (see rdma link(8).)
The rdma_rxe kernel module provides a software implementation of the RoCEv2 protocol. The RoCEv2 protocol is an RDMA transport protocol that exists on top of UDP/IPv4 or UDP/IPv6. The InfiniBand (IB) Base Transport Header (BTH) is encapsulated in the UDP packet.
Once a RXE instance has been created, communicating via RXE is the same as communicating via any OFED compatible Infiniband HCA, albeit in some cases with addressing implications.
In particular, while the use of a GRH header is optional within IB subnets, it is mandatory with RoCE. Verbs applications written over IB verbs should work seamlessly, but they require provisioning of GRH information when creating address vectors. The library and driver are modified to provide for mapping from GID to MAC addresses required by the hardware.
Directory that holds RDMA device information. The format is the same as other RDMA devices.
Write only file used to configure RoCE and Ethernet MTU values.
Read/Write file that sets a limit on the number of UCs allowed per RXE device.
Read/Write file that sets a limit on the number of QPs allowed per RXE device.
Read/Write file that sets a limit on the number of WRs per QP allowed per RXE device.
Read/Write file that sets a limit on the number of MRs allowed per RXE device.
Read/Write file that sets a limit on the number of FMRs allowed per RXE device.
Read/Write file that sets a limit on the number of CQs allowed per RXE device.
Read/Write file that sets a limit on the log base 2 of the number of CQEs per CQ allowed per RXE device.
Read/Write file that sets a limit on the maximum amount of inline data per WR allowed per RXE device.
The above configuration parameters only affect a new RXE instance when it is created not afterwards.
Read/Write file that controls the disabling of ICRC computation. Set to a nonzero value for TRUE. Zero for FALSE.
Read/Write file that enables calling kernel tasklets as subroutines to reduce latency.
Read/Write file that controls static rate pacing for output packets. If set to nonzero values the minimum delay to the next packet is set to nsec_per_kbyte * sizeof(current packet in KBytes) or nsec_per_packet which ever is less.
Read/Write file that controls the issuing of acks by the responder during a long message. If set additional acks will be generated every max_pkt_per_ack packets.
Read/Write file that controls the number of skbs (packets) that a requester can queue for sending internally.
Read/Write file that controls the maximum gap between the PSN of request packets send and ack packets received.
Read/Write file that controls the default mtu used for UD packets.
Written by John Groves, Frank Zago and Bob Pearson at System Fabric Works.