作为FPGA工程师,在开发‘数据中心网络加速卡(SmartNIC)’时,除了DPDK、VirtIO,还需要掌握哪些关键的软件栈和协议栈知识?
有3年FPGA开发经验,主要做视频处理。最近拿到一个数据中心网络加速方向的面试机会。我知道要做硬件卸载(如OVS、VXLAN),但我的软件背景比较弱。想请教各位前辈,在实际的SmartNIC项目中,FPGA工程师除了写RTL实现硬件功能,需要深入到哪个层次的软件?需要自己写驱动吗?需要懂Linux内核网络子系统、RDMA协议吗?如何快速弥补这部分知识缺口?