Hello all, I've been developing with dpdk, using virtio, and I'm noticing that I can often get into a state whereby I no longer receive any packets.
The call to rte_eth_rx_burst always returns 0, indicating the rx queue is empty. How is this queue filled? I see there is a dpdk thread, which waits on an epoll fd for interrupts. I set a breakpoint here, and it appeared as though we were waiting forever on the epoll fd. This, to me, seemed to be the source of the issue I'm seeing (presumably interrupts cause us to read off the nic and fill the queue?)... but, oddly enough, I see the same behaviour even when I'm receiving packets. Have I misinterpreted how this is supposed to work? Or is gdb behaving poorly for me (wouldn't be surprising...). What/how else can I further investigate this? Thanks, Jeff