介绍
Xilinx Alveo X3522使用XCUX35 FPGA(XCUX35-3VSVA1365E),包含两个DSFP28网络连接贺一个PCIe Gen4x8/Gen3x8接口。每一个DSFP28模块通过一个共享PF支持两个端口。
服务器要求
使用X3522必须满足如下要求:
- 服务器必须是64位x86处理器。
- 服务器必须接受半高半长的8插槽PCIe主板。
- 服务器必须满足Alveo X3522 Data Sheet文档中的散热规格。
加速卡安装
网卡信息
- 记录X3522的序列号(在卡上),例如:5056B1085011
- 使用手机扫码获得MAC地址,便于后续安装。
- 断电安装卡,重启电脑
确认卡能被系统识别
- 使用root用户登录。
- 使用如下指令确认能否看到X3522的PCIe设备:
lspci -v -d 10ee:
如果卡成功安装并且能被系统发现,将会显示如下信息(输出类容取决于你所使用的X3系列)。
01:00.0 Ethernet controller: Xilinx Corporation Device 5084
Subsystem: Xilinx Corporation Device 000b
Flags: bus master, fast devsel, latency 0
Memory at 92b00000 (64-bit, prefetchable) [size=1M]
Memory at 92c01000 (64-bit, prefetchable) [size=4K]
Expansion ROM at 90100000 [disabled] [size=1M]
Capabilities: [40] Power Management version 3
Capabilities: [60] MSI-X: Enable+ Count=64 Masked-
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [b0] Vital Product Data
Capabilities: [100] Advanced Error Reporting
Capabilities: [1c0] #19
Capabilities: [220] Transaction Processing Hints
Capabilities: [e80] Vendor Specific Information: ID=0020 Rev=0
Len=010 <?>
01:00.1 Ethernet controller: Xilinx Corporation Device 5084
Subsystem: Xilinx Corporation Device 000b
Flags: bus master, fast devsel, latency 0
Memory at 92a00000 (64-bit, prefetchable) [size=1M]
Memory at 92c00000 (64-bit, prefetchable) [size=4K]
Expansion ROM at 90200000 [disabled] [size=1M]
Capabilities: [40] Power Management version 3
Capabilities: [60] MSI-X: Enable+ Count=64 Masked-
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [b0] Vital Product Data
Capabilities: [100] Advanced Error Reporting
Capabilities: [220] Transaction Processing Hints
Capabilities: [e80] Vendor Specific Information: ID=0020 Rev=0
Len=010 <?>
连接到网络
X3522有两个DSFP28光模块槽,每一个插槽支持连个端口:
- 槽1支持端口0和2.
- 槽2支持端口1和3.
安装软件
安装RPM包
安装Kernel headers到/lib/modules//build:
- 确认是否安装kernel headers:
ls /lib/modules/$(uname -r)/build
- 如果没用安装,使用如下指令安装:
yum install kernel-devel-$(uname -r)
确认辅助总线驱动是否存在
- 使用如下命令查看使用存在auxiliary bus driver:
ls -d /sys/bus/auxiliary
- 如果显示如下则已存在:
/sys/bus/auxiliary
- 如果报如下错误,则不存在auxiliary bus driver:
ls: cannot access /sys/bus/auxiliary: No such file or directory
下载auxiliary bus驱动安装
- XN-201056-LS Auxiliary Bus Driver Source [RPM package]
构建 auxiliary bus驱动RPM
- build binary RPM:
rpmbuild --rebuild <source-rpm-path>
- build过程中会生成大量的控制台输出。
Wrote: <path>/kernel-module-auxiliary-<os_version>-<module_version>.rpm
安装auxiliary bus驱动binary rpm包
- 复制上一步“Wrote”后得输出,安装驱动:
rpm -Uvh <path>/kernel-module-auxiliary-<os_version>-<module_version>.rpm
- 重载驱动
modprobe -r auxiliary
modprobe auxiliary
下载网卡驱动rpm包
下载包:XN-201053-LS Alveo X3522 Net Driver Source [RPM package].
构建网络驱动binary rpm包
- build binary RPM:
rpmbuild --rebuild <source_rpm_path>
---console output
Wrote: <path>/kernel-module-xilinx_efct-<os_version>-<module_version>.rpm
安装网络驱动binary rpm包
rpm -Uvh <path>/kernel-module-xilinx_efct-<os_version>-<module_version>.rpm
- 重载驱动
modprobe -r xilinx_efct
modprobe xilinx_efct
配置网络设置
创建连接
- 获得网络连接:
$ numli connection show
NAME UUID TYPE DEVICE
eno1 385c33a0-1980-4721-b052-b06827f4b496 802-3-ethernet eno1
enp1s0f0 b625586a-b82c-b82f-f16c-e1bf600c7751 802-3-ethernet enp1s0f0
enp1s0f1 c133f197-d25e-a27d-acd8-cf2eda286822 802-3-ethernet enp1s0f1
virbr0 1672bdeb-3925-43d3-a559-65fdd7f7cff7 bridge virbr0
2.找到X3522接口
- 如果接口不存在,创造一个连接:
numlic connection add type ethernet ifname <interface> con-name <interface>
# for example
numlic connection add type ethernet ifname enpis0f2 con-name enp1s0f2
- 如果接口存在,则down掉连接:
numlic connection down '<NAME>'
# for example
numlic connection down 'enp1s0f0'
设置
- 使用如下静态值改变IPv4配置:
numlic connection modify '<NAME>' ipv4.addresses <ip>/<port>
numlic connection modify '<NAME>' ipv4.method manual
- up连接
numlic connection up '<NAME>'
- 重启网络服务
systemctl restart network
网卡测试
- 运行lspci
sudo lspci -v -d 10ee
- 运行ethtool
ethtool -i <interface>