numam-dpdk/drivers/net/tap
Ophir Munk 3101191c63 net/tap: fix device removal when no queue exist
TAP device is created following its first queue creation. Multiple
queues can be added or removed over time. In Linux terminology those
are file descriptors which are opened or closed over time. As long as
the number of opened file descriptors is positive - TAP device will
appear as a Linux device. In case all queues are released (the
equivalent of all file descriptors being closed) the TAP device will
be removed. This can lead to abnormalities in different scenarios
where the TAP device should exist even if all its queues are released.
In order to make TAP existence independent of its number of queues -
an extra file descriptor is opened on TAP creation and is closed on
TAP closure. Its only purpose is to serve as a keep-alive mechanism
for the TAP device.

Fixes: bf7b7f437b ("net/tap: create netdevice during probing")
Cc: stable@dpdk.org

Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
2018-05-23 00:35:01 +02:00
..
Makefile net/tap: support Rx interrupt 2018-01-29 10:45:20 +01:00
rte_eth_tap.c net/tap: fix device removal when no queue exist 2018-05-23 00:35:01 +02:00
rte_eth_tap.h net/tap: fix device removal when no queue exist 2018-05-23 00:35:01 +02:00
rte_pmd_tap_version.map net/tap: add TUN/TAP device PMD 2017-01-17 19:40:50 +01:00
tap_bpf_api.c align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00
tap_bpf_insns.h align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00
tap_bpf_program.c net/tap: report on supported RSS hash functions 2018-05-14 22:31:51 +01:00
tap_bpf.h align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00
tap_flow.c net/tap: fix isolation mode toggling 2018-05-17 16:01:05 +02:00
tap_flow.h align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00
tap_intr.c net/tap: convert to dynamic logging 2018-04-27 18:00:59 +01:00
tap_log.h net/tap: convert to dynamic logging 2018-04-27 18:00:59 +01:00
tap_netlink.c net/tap: convert to dynamic logging 2018-04-27 18:00:59 +01:00
tap_netlink.h align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00
tap_rss.h net/tap: support RSS hash update 2018-05-17 19:07:08 +02:00
tap_tcmsgs.c net/tap: convert to dynamic logging 2018-04-27 18:00:59 +01:00
tap_tcmsgs.h align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00