Caution
This release is an early-access software technology preview. Running production workloads is not recommended.
Userspace emulated RDMA NIC for virtual machines, built on libvfio-user. Provides full RDMA functionality to guest VMs without requiring physical RDMA hardware or an in-guest software stack such as Soft-RoCE. Backends include loopback (for testing and CI), TCP/IP (multi-node without hardware), and native verbs (real InfiniBand HCA pass-through).
The server can present two device personalities. By default it emulates an
AMD Pensando ionic NIC (1022:8001), so the guest runs the upstream Linux
ionic and ionic_rdma drivers with only the small device-ID and UC
address-handle patches in patches/ applied, and the upstream
providers/ionic in rdma-core. --tap IFNAME attaches the emulated Ethernet
interface to a host TAP, giving the guest a real routable segment with working
ARP, ICMP, and TCP/IP.
--legacy (alias --pvrdma) selects the older PVRDMA-derived device
(1022:8000) driven by the out-of-tree rocm_ernic module in
driver/. That path is deprecated: it is kept working for
existing deployments but should not be used for new ones. See
docs/ionic.rst for details.
See INSTALL.md for dependencies, supported platforms, and build instructions.
Full documentation lives in the docs/ directory and covers building,
architecture, usage, the kernel driver, the systemd service, testing, and the
API reference.
MIT. Some files carry different licenses per their SPDX headers; see LICENSE.md for details.