A SmartNIC-centric network stack with software transport programmability and 400Gbps line-rate packet processing capabilities.
- 2 x BlueField-3 SmartNICs with a 400Gbps Ethernet link
- Required libraries: cmake, gflags, numa, pthread
- Huge pages: at least 2048 huge pages on each NUMA node
- g++ >= 11.3.0
- MLNX_OFED
- Intel Sapphire Rapids CPU or Emerald Rapids CPU with Data Streaming Accelerator (DSA) support (recommended)
See INSTALL.md for dependency installation and build instructions on a BlueField-3-equipped machine.
See DEPLOY.md for connecting to the artifact machines and deploying SmartNS on BlueField-3.
Run the verification steps in EXP.md. If the checks in the "Evaluation" document pass, the environment is correctly configured.
.
├── doc
├── include
│ ├── devx
│ ├── dma
│ ├── fw
│ ├── raw_packet
│ ├── rdma_cm
│ ├── rxe
│ └── tcp_cm
├── kernel (SmartNS kernel module code)
├── lib (SmartNS library for upper-layer applications)
├── scripts (BF3 monitoring Python scripts)
├── src
│ ├── devx
│ ├── dma
│ ├── dpu
│ ├── raw_packet
│ ├── rdma_cm
│ ├── rxe
│ └── tcp_cm
├── test (test code)
├── third_party
│ ├── atomic_queue
│ ├── HdrHistogram_c
│ ├── minipcm
│ ├── parallel-hashmap
│ └── rdma-core
└── utils
| project | Version |
|---|---|
| HdrHistogram_c | latest |
| parallel-hashmap | latest |
| atomic_queue | latest |
| rdma-core | special |
| minipcm | special |
Documentation is being continuously improved.
Email: chenxuz@zju.edu.cn