The tap PMD registers each queue file descriptor for Rx interrupts but the feature is not actually usable through the generic API. This series fixes two distinct issues, both against the original Rx interrupt support.
Patch 1 adds the missing rx_queue_intr_enable/disable ops. Without them rte_eth_dev_rx_intr_enable() returns -ENOTSUP, so applications that arm queues before sleeping (l3fwd-power and similar) treat tap as having no interrupt support and fall back to polling. Patch 2 fixes a traffic stall specific to interrupt mode: the Rx burst skips reading the queue fd until the SIGIO trigger advances, but in interrupt mode the application wakes through epoll, a distinct signal, so the burst can return 0 right after a wakeup and the fd stays readable with no further edge. The fd is now drained unconditionally in interrupt mode and the SIGIO trigger is not armed on the data queue fds. Both patches are candidates for stable. Maxime Leroy (2): net/tap: support Rx queue interrupt enable/disable net/tap: drain queue FD in Rx interrupt mode drivers/net/tap/rte_eth_tap.c | 23 +++++++++++++++++- drivers/net/tap/rte_eth_tap.h | 5 ++++ drivers/net/tap/tap_intr.c | 44 +++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 1 deletion(-) -- 2.43.0

