42ec78eaeb
The TAP keep-alive queue was created in order to keep the TAP device in Linux even in case all of its Rx/Tx queues are released (in Linux terminology: even in case all of the TAP device file descriptors are closed), however, the keep-alive queue itself is attached to the TAP device like all other Rx/Tx queues and therefore the kernel will enqueue to it some Rx packets based on the kernel RSS distribution rules. Those packets are unknown to the application and will remain lost in the keep-alive queue. All queues are attached by default to the TAP device after they are created though TUNSETIFF ioctl call. The fix is to detach the keep-alive queue after its creation through TUNSETQUEUE ioctl call. Fixes: 3101191c63ab ("net/tap: fix device removal when no queue exist") Cc: stable@dpdk.org Signed-off-by: Ophir Munk <ophirmu@mellanox.com> Acked-by: Keith Wiles <keith.wiles@intel.com>