Network stack for fast and secure networking with RDMA
Networking with onesided RDMA with librpma
(Details will follow)
Networking with twosided RDMA with eRPC and support for DPDK
- Dependencies:
- numa (libnuma-dev)
- ibverbs (libibverbs-dev)
- openssl (libssl-dev)
- eRPC (in submodule)
- dpdk (in submodule)
- libboost-dev (only needed for dpdk)
- Clone the repo, go to client_server_twosided, get submodules (eRPC and dpdk) with
git submodule init git submodule update
- For dpdk: compile dpdk. Go to dpdk, optionally remove kernel and app from GNUMakefile, then:
make install T=x86_64-native-linuxapp-gcc DESTDIR=../dpdk_static
- Build eRPC. For dpdk and rdma, different versions of eRPC are used.
- For dpdk go to eRPC4dpdk and execute:
cmake . -DTRANSPORT=dpdk -DPERF=off make -j $(nproc)
- For RDMA (with infiniband and RoCE) go to eRPC4rdma and execute:
cmake . -DTRANSPORT=infiniband -DROCE=on -DPERF=on make -j $(nproc)
- For dpdk go to eRPC4dpdk and execute:
- In the directory client_server_twosided, execute:
mkdir build && cd build cmake .. -DTRANSPORT=<infiniband/dpdk> make -j $(nproc)