| Bug ID | 1526 |
|---|---|
| Summary | rte_eth_rx_burst is blocking in libpcap pmd on no packets |
| Product | DPDK |
| Version | 24.03 |
| Hardware | x86 |
| OS | Linux |
| Status | UNCONFIRMED |
| Severity | normal |
| Priority | Normal |
| Component | ethdev |
| Assignee | dev@dpdk.org |
| Reporter | ofer.d@claroty.com |
| Target Milestone | --- |
Hi, I see a weird behaviour when using libpcap pmd, that when no packets getting to interface, the call to rte_eth_rx_burst is blocking. I see the following stack: #0 0x00007f17d496cbcf in poll () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x000055f290d6ef84 in pcap_wait_for_frames_mmap () #2 0x000055f290d71db0 in pcap_read_linux_mmap_v3 () #3 0x000055f290d50c8f in pcap_next () #4 0x000055f290714263 in eth_pcap_rx () #5 0x000055f29018f2f2 in rte_eth_rx_burst (nb_pkts=64, rx_pkts=0x7ffec08382b0, queue_id=<optimized out>, port_id=<optimized out>) at /usr/local/stow/dpdk/include/rte_ethdev.h:6110 I looked in libpcap and it indeed seems that pcap_read_linux_mmap_v3 is blocking, and what is meant to be called, when using dpdk, is pcap_dpdk_dispatch (which indeed seems non blocking). Can you please help debug and understand why is it behaving like that? Thanks ahead!