9.1. 使用外部流量生成器进行测试
您可以在2x2x25G,8x10G和4x25G配置上进行此测试。
- 硬件设置:在 Intel® FPGA PAC N3000的QSFP端口和外部流量生成器之间连接电缆。
注: 在4x25G配置中,每个配置只有一个QSFP端口是活动的。图 18. 8x10G网络配置的外部测试器图 19. 2x2x25G网络配置的外部测试器图 20. 4x25G网络配置的外部测试器
- 开始DPDK testpmd应用程序。
注: 将FPGA B:D.F替换成系统的特定值。
$ cd $RTE_SDK
$ sudo ./x86_64-native-linuxapp-gcc/app/testpmd -l 0,1,2,3,4,5,6,7 -n 4 \ --vdev 'ifpga_rawdev_cfg0,ifpga=15:00.0,port=0' -- -i --no-numa
现在,从外部流量生成器启动流量:testpmd> start
testpmd> show port stats all
2x2x25G配置的样例输出:预期结果:默认情况下,testpmd在配对模式下工作。在此模式下,数据包转发是在端口对之间进行的,例如:(0,1), (2,3)。######################## NIC statistics for port 0 ######################## RX-packets: 0 RX-missed: 0 RX-bytes: 0 RX-errors: 0 RX-nombuf: 0 TX-packets: 0 TX-errors: 0 TX-bytes: 0 Throughput (since last show) Rx-pps: 0 Tx-pps: 0 ############################################################################ ######################## NIC statistics for port 1 ######################## RX-packets: 0 RX-missed: 0 RX-bytes: 0 RX-errors: 0 RX-nombuf: 0 TX-packets: 0 TX-errors: 0 TX-bytes: 0 Throughput (since last show) Rx-pps: 0 Tx-pps: 0 ############################################################################ ######################## NIC statistics for port 2 ######################## RX-packets: 0 RX-missed: 0 RX-bytes: 0 RX-errors: 0 RX-nombuf: 0 TX-packets: 0 TX-errors: 0 TX-bytes: 0 Throughput (since last show) Rx-pps: 0 Tx-pps: 0 ############################################################################ ######################## NIC statistics for port 3 ######################## RX-packets: 0 RX-missed: 0 RX-bytes: 0 RX-errors: 0 RX-nombuf: 0 TX-packets: 0 TX-errors: 0 TX-bytes: 0 Throughput (since last show) Rx-pps: 0 Tx-pps: 0 ############################################################################ ######################## NIC statistics for port 4 ######################## RX-packets: 0 RX-missed: 0 RX-bytes: 0 RX-errors: 0 RX-nombuf: 0 TX-packets: 0 TX-errors: 0 TX-bytes: 0 Throughput (since last show) Rx-pps: 0 Tx-pps: 0 ############################################################################ ######################## NIC statistics for port 5 ######################## RX-packets: 0 RX-missed: 0 RX-bytes: 0 RX-errors: 0 RX-nombuf: 0 TX-packets: 0 TX-errors: 0 TX-bytes: 0 Throughput (since last show) Rx-pps: 0 Tx-pps: 0 ############################################################################ ######################## NIC statistics for port 6 ######################## RX-packets: 0 RX-missed: 0 RX-bytes: 0 RX-errors: 0 RX-nombuf: 0 TX-packets: 0 TX-errors: 0 TX-bytes: 0 Throughput (since last show) Rx-pps: 0 Tx-pps: 0 ############################################################################ ######################## NIC statistics for port 7 ######################## RX-packets: 0 RX-missed: 0 RX-bytes: 0 RX-errors: 0 RX-nombuf: 0 TX-packets: 0 TX-errors: 0 TX-bytes: 0 Throughput (since last show) Rx-pps: 0 Tx-pps: 0 ############################################################################
- 在2x2x25G配置中:流量转发是在端口(0,1)和(2,3)之间进行的
- 在8x10G配置中:流量转发是在(0,1),(2,3),(4,5)和(6,7)之间进行的
内核列表:
在2x2x25G或者4x25G的情况下,我们有4个XL710端口,因此我们分配4个内核。而在8x10G的情况下,我们有8个XL710端口,因此我们分配8个内核:-l <core list>
或者,您可以选择发送流量到NIC的特定端口,而不是所有端口。为此,必须使用-w <XL710 Port BDF>明确列出这些端口为白色。例如: 下面的命令仅显示XL710端口14:00.0,14:00.1列为白色。在此情况下,FPGA BDF也必须明确列为白色。sudo ./x86_64-native-linuxapp-gcc/app/testpmd -l 1,3 -n 4 -w \ 0000:14:00.0 -w \ 0000:14:00.1 -w \ 0000:15:00.0 --vdev 'ifpga_rawdev_cfg0,ifpga=15:00.0,port=0' \ -- -i --no-numa
变量 | 说明 | 使能的功能 |
---|---|---|
-w <"FPGA BDF"> --vdev 'ifpga_rawdev_cfg0,ifpga=<"FPGA BDF">,port=0’ | AFU名称格式为FPGA BDF|Port。每个FPGA最多可分成四个模块。 Port标识AFU比特流属于哪个FPGA模块,但是当前仅支持Port 0 (Ethernet)。 | 这会触发rawdev PMD driver热插拔 AFU到IFPGA BUS。 |
-w <XL710 port BDF> | 将Intel XL710 NIC PF加入白名单。 |