Intel® Acceleration Stack用户指南: Intel FPGA Programmable Acceleration Card N3000

ID 683040
日期 8/17/2020
Public
文档目录

9.1. 使用外部流量生成器进行测试

您可以在2x2x25G,8x10G和4x25G配置上进行此测试。
  1. 硬件设置:在 Intel® FPGA PAC N3000的QSFP端口和外部流量生成器之间连接电缆。
    注: 在4x25G配置中,每个配置只有一个QSFP端口是活动的。
    图 18. 8x10G网络配置的外部测试器
    图 19. 2x2x25G网络配置的外部测试器
    图 20. 4x25G网络配置的外部测试器
  2. 开始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配置的样例输出:
      ######################## 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
      ############################################################################
    预期结果:默认情况下,testpmd在配对模式下工作。在此模式下,数据包转发是在端口对之间进行的,例如:(0,1), (2,3)。
    • 在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
请参考Testpmd Application User Guide来了解Environment Abstraction Layer变量(testpmd)。
表 12.  特定变量
变量 说明 使能的功能
-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加入白名单。