How to set up SoNIC
SoNIC consists of an FPGA development board, and a server/workstation. The server/workstation must be able to support "PCLMULQDQ" instruction (SSE4.2, available in Westmere, Sandy Bridge, and Ivy Bridge), and PCIe x8 Gen2.0. To achieve the best performance, it is recommended to have at least 8 cores to support two 10GbE ports. SoNIC kernel module is implemented and tested in Linux Kernel 2.6.38. We are currently updating the module to support recent Linux Kernel versions.
- Install SoNIC board. The board must be loaded with SoNIC firmware.
- Boot the machine, and check the status of the board (lspci)
- Once installation is done, compile and load the SoNIC module
- Create three character device files for control and data communications. The characer device major number can be found out by running grep sonic /proc/devices
Then, run following three commands to create files.
mknod "/dev/sonic/sonic_control" c 0
mknod "/dev/sonic/sonic_port0" c 1
mknod "/dev/sonic/sonic_port1" c 2
- Now, SoNIC is ready. Run test applications provided below.