Softiwarp
SoftiWARP: Software iWARP kernel driver and user library for Linux
Install / Use
/learn @zrlio/SoftiwarpREADME
DISCLAIMER
THIS CODE IS NOT LONGER MAINTAINED, SINCE THE SOFTIWARP DRIVER BECAME PART OF UPSTREAM LINUX WITH KERNEL 5.2, AND IS MAINTAINED THERE.
Please use the latest SoftiWarp driver and its user RDMA library from your Linux distro for running software RDMA over IP interfaces. We keep this zrlio siw repo only for reference.
SoftiWARP
SoftiWARP (siw) is a software iWARP kernel driver and user library
for Linux. It implements the iWARP protocol suite (MPA/DDP/RDMAP,
IETF-RFC 5044/5041/5040) completely in software, without requiring
any dedicated RDMA hardware. It comprises a loadable Linux kernel
module siw located in kernel/ and a user level library libsiw
located in userlib/.
SoftiWarp targets for integration with the OpenFabrics (OFA) ecosystem. For OFA integration, it is written against its kernel and user level interfaces.
SoftiWARP supports both user level and kernel level applications. It makes use of the OFA connection manager to set up connections. The kernel component runs on top of TCP kernel sockets.
Code structure
kernel/: kernel module
userlib/: user library
common/: common include file(s)
Build and install
Linux kernel versions
SoftiWARP code tries to stay up to date with recent Linux kernels.
Git master is supposed to run on the newest stable kernel.
To ease code maintenance and to allow for back porting
of any new features, old versions of SoftiWARP will be branched
off with discriptive names. master is always tagged with the kernel
version it matches.
Re-installing a newer SoftiWARP version after a kernel upgrade shall include making and re-installing both user library and kernel module (see below).
User-space library
cd /path/to/your/clone/userlib
./autogen.sh
./configure
make install
Kernel module
To build:
cd /path/to/your/clone/kernel
make
To load:
settings 1: for starting TX threads on available CPUs (check dmesg which CPUs runs TX thread)
sudo insmod ./siw.ko
setting 2: for starting TX thread on all CPUs given in comma separated list, if CPU available
sudo insmod ./siw.ko tx_cpu_list=[n,m,...]
Contributions
PRs are always welcome. Please fork, and make necessary modifications you propose, and let us know.
Contact
If you have questions or suggestions, feel free to post at:
https://groups.google.com/forum/#!forum/zrlio-users
or email: zrlio-users@googlegroups.com
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
