基于Xilinx Alveo FPGA 100Gbps网卡(NIC)
1、准备工作
2、FPGA项目
3、ONIC驱动
4、DPDK驱动
前言
通过上两章介绍,已经建立了基于Xilinx Alveo FPGA 100Gbps网卡(NIC)的硬件环境,FPGA设备变为我们所需要的网卡设备。那么光有硬件还不能被使用,软硬结合才是王道,接下来准备相应的驱动部分,也即OpenNIC的ONIC驱动。
一、相关编译库准备
1.引入库
代码如下(示例):
sudo apt update
sudo apt install build-essential
sudo apt install git
sudo apt install snap
sudo snap install cmake --classic
sudo apt install gcc-12
二、下载驱动开源项目
OpenNIC 的ONIC驱动项目可通过**这里**下载,也可以通过GIT CLONE命令下载:
> git clone https://github.com/Xilinx/open-nic-driver.git
三、编译
正常make编译即可,如果提示缺少相应库install即可,已确认的编译系统环境为Ubuntu 22.04,kernel无特殊要求。
编译成功后如下
四、装载驱动
接下来装载驱动
# install driver
sudo insmod onic.ko
# remove driver
sudo rmmod onic.ko
驱动装载成功后如下确认
sudo lspci -vd 10ee:
五、测试
编译时 "onic_main.c"文件的宏 "CMS_SUPPORT"如果打开的话,可以下载lm-sensors查看传感器相关信息。
sudo apt install lm-sensors
还可以测试下网络,比如使用如下工具
sudo apt install ethtool
sudo apt install iperf3
总结
至此整个项目便以完成,可以在我们的系统中使用100G网卡设备,可以支持TCP/IP和UDP等协议。下一章介绍另外一个DPDK网络驱动组件,该驱动组件有些特性可以提供更好的网络性能。