RXE(7)
β¨ NAME β¨
rxe β software RDMA over Ethernet, bestie π
So like, the manual page is RXE(7) from the Miscellaneous Information Manual, and this whole thing is about rxe. Yes queen, we're doing RDMA over plain old Ethernet, no fancy hardware required.
π SYNOPSIS π
modprobe rdma_rxe
This is usually performed by a configuration utility (see rdma link(8)).
π¦ DESCRIPTION π¦
The rdma_rxe kernel module provides a software implementation of the RoCEv2 protocol. And what is RoCEv2, you ask? It's an RDMA transport protocol that exists on top of UDP/IPv4 or UDP/IPv6, no cap. The InfiniBand (IB) Base Transport Header (BTH) is encapsulated in the UDP packet. Iconic behaviour honestly.
Once a RXE instance has been created, communicating via RXE is the same as communicating via any OFED compatible Infiniband HCA β literally the same vibe β 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. So like, the plumbing is handled, but you do have to give it the GRH info. Slay, but mind the details. π
π§ FILES π§
/sys/class/infiniband/rxe[0,1,...]β Directory that holds RDMA device information. The format is the same as other RDMA devices./sys/module/rdma_rxe_net/parameters/mtuβ Write only file used to configure RoCE and Ethernet MTU values./sys/module/rdma_rxe/parameters/max_ucontextβ Read/Write file that sets a limit on the number of UCs allowed per RXE device./sys/module/rdma_rxe/parameters/max_qpβ Read/Write file that sets a limit on the number of QPs allowed per RXE device./sys/module/rdma_rxe/parameters/max_qp_wrβ Read/Write file that sets a limit on the number of WRs per QP allowed per RXE device./sys/module/rdma_rxe/parameters/max_mrβ Read/Write file that sets a limit on the number of MRs allowed per RXE device./sys/module/rdma_rxe/parameters/max_fmrβ Read/Write file that sets a limit on the number of FMRs allowed per RXE device./sys/module/rdma_rxe/parameters/max_cqβ Read/Write file that sets a limit on the number of CQs allowed per RXE device./sys/module/rdma_rxe/parameters/max_log_cqeβ Read/Write file that sets a limit on the log base 2 of the number of CQEs per CQ allowed per RXE device./sys/module/rdma_rxe/parameters/max_inline_dataβ Read/Write file that sets a limit on the maximum amount of inline data per WR allowed per RXE device.
β οΈ Okay bestie, listen up: the above configuration parameters only affect a new RXE instance when it is created, not afterwards. Not after. Once it's born, that's it, those knobs are decorative. π
/sys/module/rdma_rxe/parameters/crc_disableβ Read/Write file that controls the disabling of ICRC computation. Set to a nonzero value for TRUE. Zero for FALSE./sys/module/rdma_rxe/parameters/fast_comp|req|resp|arbβ Read/Write file that enables calling kernel tasklets as subroutines to reduce latency./sys/module/rdma_rxe/parameters/nsec_per_packet|kbyteβ 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 tonsec_per_kbyte * sizeof(current packet in KBytes)ornsec_per_packet, which ever is less./sys/module/rdma_rxe/parameters/max_packet_per_ackβ Read/Write file that controls the issuing of acks by the responder during a long message. If set, additional acks will be generated everymax_pkt_per_ackpackets./sys/module/rdma_rxe/parameters/max_skb_per_qpβ Read/Write file that controls the number of skbs (packets) that a requester can queue for sending internally./sys/module/rdma_rxe/parameters/max_req_comp_gapβ Read/Write file that controls the maximum gap between the PSN of request packets send and ack packets received./sys/module/rdma_rxe/parameters/default_mtuβ Read/Write file that controls the default mtu used for UD packets.
π SEE ALSO π
rdma(8), verbs(7),
π AUTHORS π
Written by John Groves, Frank Zago and Bob Pearson at System Fabric Works. Legends, fr fr. π«Ά
Okay that's the whole page bestie, version 1.0.0, dated 2011-06-29, filed under RXE(7) in the Miscellaneous Information Manual. Go configure something cute. Byeee πβ¨π
π¦ where this page comes from
- alpine 3.24: rdma-core-doc 61.0-r0 Β· GPL-2.0-only OR BSD-2-Clause
- arch rolling: rdma-core 65.0-1 Β· GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-MIT AND GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-FreeBSD AND GPL-2.0-or-later OR LicenseRef-Intel-BSD-3-Clause AND GPL-2.0-or-later OR LicenseRef-PathScale-BSD-Patent-License AND CC0-1.0 AND MIT AND BSD-2-Clause AND CPL-1.0 OR BSD-2-Clause OR GPL-2.0-or-later
- centos-stream 10: rdma-core 62.0-3.el10 Β· GPLv2 or BSD
- centos-stream 9: rdma-core 61.0-3.el9 Β· GPLv2 or BSD
- debian bookworm: rdma-core 44.0-2 Β· BSD-MIT OR GPL-2.0-only
- debian trixie: rdma-core 56.1-1 Β· BSD-MIT OR GPL-2.0-only
- fedora 43: rdma-core 58.0-4.fc43 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: rdma-core 61.0-2.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: rdma-core 61.1^20260812git975bdaf-1.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- nixos 26.05: rdma-core 62.0
- nixpkgs unstable: rdma-core 65.0
- opensuse-leap 16.0: libibverbs 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: libibverbs 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: libibverbs 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: libibverbs 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- ubuntu jammy: rdma-core 39.0-1 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: rdma-core 50.0-2build2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: rdma-core 50.0-2ubuntu0.2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu questing: rdma-core 56.1-1ubuntu1
- ubuntu resolute: rdma-core 61.0-2ubuntu3 Β· BSD-MIT OR GPL-2.0-only
- ubuntu stonking: rdma-core 64.0-1ubuntu1 Β· BSD-MIT OR GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms