Intel® Acceleration Stack User Guide: Intel FPGA Programmable Acceleration Card N3000

ID 683040
Date 6/14/2021
Public
Document Table of Contents

9.3. Troubleshooting in DPDK

If you see error as below while starting pktgen, follow the listed steps:
Port  0: Link Up - speed 25000 Mbps - full-duplex <Enable promiscuous mode>
Port  1: Link Up - speed 25000 Mbps - full-duplex <Enable promiscuous mode>
 
RX processing lcore:   1 rx:  1 tx:  0
PANIC in pktgen_main_rx_loop():
*** port 0 socket ID 0 has different socket ID for lcore 1 socket ID 1
7:  [/lib64/libc.so.6(clone+0x6d) [0x7ff79c354ead]]
6: [/lib64/libpthread.so.0(+0x7dd5) [0x7ff79c62bdd5]]
5: [./app/x86_64-native-linuxapp-gcc/pktgen(eal_thread_loop+0x1d4) [0x583594]]
4: [./app/x86_64-native-linuxapp-gcc/pktgen(pktgen_launch_one_lcore+0xa7) [0x4a8997]]
3: [./app/x86_64-native-linuxapp-gcc/pktgen() [0x4a1b1f]]
2: [./app/x86_64-native-linuxapp-gcc/pktgen(__rte_panic+0xb8) [0x46b941]]
1: [./app/x86_64-native-linuxapp-gcc/pktgen(rte_dump_stack+0x1a) [0x58935a]]
        Aborted (core dumped)
  1. Find the CPU (NUMA node/socket) connected to the Intel® FPGA PAC N3000.
    Figure 23. Example
  2. Run command to find the CPU to core mapping.
    $	RTE_SDK/usertools/cpu_layout.py 
    Figure 24. Output
    This shows that all even cores [0, 2, 4, 6, 8, 10] are bound to socket 0 and all odd cores [1, 3, 5, 7, 9, 11] are bound to socket 1.
    Note: The NUMA node is same as the socket.
Since ports in this setup are bound to socket 0, even cores are used as lcores in the below command. Update the lcore in the command as per your system configuration.
$  ./app/x86_64-native-linuxapp-gcc/pktgen -l 0,2,4 -n 4 --proc-type primary \
--log-level 7 --file-prefix pg -w 0000:16:00.0 -w 0000:16:00.1 -- \
-T -P -m 2.0 -m 4.1 -f themes/black-yellow.theme
Note: First core is always used by the management thread. lcore 2 is used to handle rx and tx for port 0. lcore 4 is used to handle rx and tx for port 1.