11.1. Test Using an External Traffic Generator
This test can be performed on 2x2x25G and 4x25G configuration.
- Hardware Setup: Connect cable between QSFP port of Intel® FPGA PAC N3000-N/2 and external traffic generator.
Note: In 4x25G configuration, only one QSFP port is active per the configuration.Figure 12. External Tester with 2x2x25G Network ConfigurationFigure 13. External Tester with 4x25G Network Configuration
- Start the DPDK testpmd application.
Note: Replace the FPGA B:D.F with values specific to your system.
$ 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
Now, start traffic from external traffic generator:testpmd> start
testpmd> show port stats all
Sample output for 2x2x25G configuration:Expected result: testpmd by default works in paired mode. In this mode, the packet forwarding is between pairs of ports, for example: (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 ############################################################################
- In 2x2x25G configuration: Traffic forwarding is between ports (0,1) and (2,3)
List of the cores to run on:
In case of 2x2x25G or 4x25G, we have 4 XL710 ports and hence we assign 4 cores:-l <core list>
Optionally, you can choose to send traffic to specific ports of the NIC rather than all ports. For this, the ports have to be explicitly white listed using the -w <XL710 Port BDF>. For example: Below command shows that only XL710 ports 14:00.0,14:00.1 are white listed. The FPGA BDF must also be explicitly white listed in this case: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
Arguments | Description | Capability Enabled |
---|---|---|
-w <"FPGA BDF"> --vdev 'ifpga_rawdev_cfg0,ifpga=<"FPGA BDF">,port=0’ | The AFU name format is FPGA BDF|Port. Each FPGA can be divided into four blocks at most. Port identifies which FPGA block the AFU bitstream belongs to, but currently only Port 0 (Ethernet) is supported. | This triggers rawdev PMD driver to hotplug AFU to the IFPGA BUS. |
-w <XL710 port BDF> | Whitelists the Intel XL710 NIC PF. |