On 5/25/2018 9:29 AM, Thomas Monjalon wrote: > 25/05/2018 01:10, Ophir Munk: >> 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: sta...@dpdk.org >> >> Signed-off-by: Ophir Munk <ophi...@mellanox.com> >> --- >> drivers/net/tap/rte_eth_tap.c | 33 +++++++++++++++++++++++++++------ >> 1 file changed, 27 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c >> index 310c7d8..c3af608 100644 >> --- a/drivers/net/tap/rte_eth_tap.c >> +++ b/drivers/net/tap/rte_eth_tap.c >> @@ -95,13 +95,20 @@ enum ioctl_mode { >> >> static int tap_intr_handle_set(struct rte_eth_dev *dev, int set); >> >> -/* Tun/Tap allocation routine >> +/** >> + * Tun/Tap allocation routine >> + * >> + * @param[in] pmd >> + * Pointer to private structure. >> + * >> + * @param[in] is_keepalive >> + * Keepliave flag > > Typo: Keepliave -> Keepalive > Ferruh, please can you fix it? > Or just remove all the doxygen comments? > > Note: this fix is critical. Without it, some flows are lost.
Applied to dpdk-next-net/master, thanks.