Hi, (please see below)
On Fri, 18 Jul 2025, Gokul K R (MS/ETA7-ETAS) wrote:
Hi Team, I’m currently working with the dpdk-burst-replay tool and encountered an issue during execution. Below are the details: __________________________________________________________________________________________________________________________________________________________________________________________ Observation: During replay, we received the following informational message: port 0 is not on the good numa id (-1)
Which API was used to check this? Was API [1] used? If not, what does it show in the absence of 'numactl' command? [1] https://doc.dpdk.org/api-25.03/rte__ethdev_8h.html#ad032e25f712e6ffeb0c19eab1ec1fd2e
As per the DPDK mailing list discussions, this warning is typically benign—often seen on NICs like Intel I225/I210, which do not report NUMA affinity. Hence, we proceeded with execution. __________________________________________________________________________________________________________________________________________________________________________________________ Command Used: sudo numactl --cpunodebind=0 --membind=0 ./src/dpdk-replay Original_MAC.pcap 0000:01:00.1 Execution Output: preloading Original_MAC.pcap file (of size: 143959 bytes) file read at 100.00% read 675 pkts (for a total of 143959 bytes). max packet length = 1518 bytes. -> Needed MBUF size: 1648 -> Needed number of MBUFs: 675 -> Needed Memory = 1.061 MB -> Needed Hugepages of 1 GB = 1 -> Needed CPUs: 1 -> Create mempool of 675 mbufs of 1648 octets. -> Will cache 675 pkts on 1 caches.
What does this 'cache' stand for? Does it refer to the mempool per-lcore cache? If so, please note that, according to API [2] documentation, cache size "must be lower or equal to RTE_MEMPOOL_CACHE_MAX_SIZE and n / 1.5", where 'n' stands for the number of mbufs. Also, documentation says it is advised to choose cache_size to have "n modulo cache_size == 0". Does your code meet these requirements? By the looks of it, it doesn't (cache_size = n = 675). Consider to double-check. [2] https://doc.dpdk.org/api-25.03/rte__mempool_8h.html#a0b64d611bc140a4d2a0c94911580efd5
__________________________________________________________________________________________________________________________________________________________________________________________ Issue: Despite successful parsing of the pcap file and proper initialization, no frames were transmitted or received on either the sender or receiver sides.
Is this observation based solely on watching APIs [3] and [4] return 0 all the time? If yes, one can consider to introduce invocations of APIs [5], [6] and [7] in order to periodically poll and print statistics (may be with 1-second delay), which may, for example, shed light on mbuf allocation errors (extended stats). Do statistics display any interesting figures to be discussed? [3] https://doc.dpdk.org/api-25.03/rte__ethdev_8h.html#a3e7d76a451b46348686ea97d6367f102 [4] https://doc.dpdk.org/api-25.03/rte__ethdev_8h.html#a83e56cabbd31637efd648e3fc010392b [5] https://doc.dpdk.org/api-25.03/rte__ethdev_8h.html#adec226574c53ae413252c9b15f6f4bab [6] https://doc.dpdk.org/api-25.03/rte__ethdev_8h.html#a418ad970673eb171673185e36044fd79 [7] https://doc.dpdk.org/api-25.03/rte__ethdev_8h.html#a300d75b583c1f5acfe5b162a5d8c0ac1
__________________________________________________________________________________________________________________________________________________________________________________________ Environment Details: * NIC used: Intel I225/I210 * Hugepages configured: 1 GB * NUMA binding: --cpunodebind=0 --membind=0 * OS: [Your Linux distribution, e.g., Ubuntu 20.04] * DPDK version: [Mention if known] __________________________________________________________________________________________________________________________________________________________________________________________ Could you please advise if any additional setup, configuration, or known limitations may be impacting the packet transmission?
This may be a wild suggestion from my side, but it pays to check whether link status is "up" upon port start on both ends. One can use API [8] to do that. [8] https://doc.dpdk.org/api-25.03/rte__ethdev_8h.html#ac05878578e4fd9ef3551d2c1c175ebe7 Thank you.
Thank you in advance for your support! Best regards, Gokul K R