The TAP driver currently uses ioctl operations which are name-based and namespace-unaware. When an interface is moved to another namespace, the driver loses control and cannot track the device.
This series migrates to netlink-based interface control using ifindex instead of names, making operations namespace-safe. When an interface moves to another namespace, the driver detects RTM_DELLINK, queries the new namespace using TUNGETDEVNETNS, and recreates netlink sockets in that namespace to maintain control. The implementation falls back to ioctl when netlink is unavailable, preserving compatibility with older kernels. Tested by moving TAP interfaces between namespaces while running testpmd. All link operations continue to work transparently after namespace changes. v2: completely removed ioctl-based implementation Robin Jarry (3): net/tap: add netlink helpers net/tap: replace ioctl with netlink net/tap: detect namespace change drivers/net/tap/rte_eth_tap.c | 412 +++++++++++++++++++--------------- drivers/net/tap/rte_eth_tap.h | 5 +- drivers/net/tap/tap_netlink.c | 291 ++++++++++++++++++++++++ drivers/net/tap/tap_netlink.h | 10 +- 4 files changed, 534 insertions(+), 184 deletions(-) -- 2.51.0

