diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst
index 3ce696b605d1..07315fe32422 100644
--- a/doc/guides/nics/tap.rst
+++ b/doc/guides/nics/tap.rst
@@ -1,6 +1,8 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2016 Intel Corporation.
+.. _TunTap_PMD:
+
Tun|Tap Poll Mode Driver
========================
diff --git a/doc/guides/prog_guide/kernel_nic_interface.rst b/doc/guides/prog_guide/kernel_nic_interface.rst
index 1ce03ec1a374..29f8c92fd9d6 100644
--- a/doc/guides/prog_guide/kernel_nic_interface.rst
+++ b/doc/guides/prog_guide/kernel_nic_interface.rst
@@ -6,16 +6,48 @@
Kernel NIC Interface
====================
+.. Note::
+
+ KNI kernel module will be removed from main git repository to `dpdk-kmods `_
+ repository by the `DPDK technical board decision `_.
+ Also there is a `long term plan `_ to deprecate the KNI.
+
+ :ref:`virtio_user_as_exceptional_path` alternative is preferred way for
+ interfacing with Linux network stack as it is being in-kernel solution and
+ similar performance expectations.
+
The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the Linux* control plane.
-The benefits of using the DPDK KNI are:
+KNI allows an interface with the kernel network stack and allows management of
+DPDK ports using standard Linux net tools such as ``ethtool``, ``ifconfig`` and
+``tcpdump``.
+
+Main use case of KNI is get/receive exception packets from/to Linux network
+stack while main datapath IO is done bypassing the networking stack.
+
+There are other alternatives to KNI, all are available in the upstream Linux:
+
+#. :ref:`TunTap_PMD` as wrapper to `Linux tun/tap
+ `_
+
+#. :ref:`virtio_user_as_exceptional_path`
+
+The benefits of using the DPDK KNI against alternatives are:
* Faster than existing Linux TUN/TAP interfaces
(by eliminating system calls and copy_to_user()/copy_from_user() operations.
-* Allows management of DPDK ports using standard Linux net tools such as ethtool, ifconfig and tcpdump.
+The cons of the DPDK KNI are:
+
+* It is out-of-tree Linux kernel module and it can't be distributed as binary as
+ part of OSV DPDK packages. This makes it harder to consume, although it is
+ always possible to compile it from the source code.
+
+* As it shares memory between userspace and kernelspace, and kernel part
+ directly uses input provided by userspace, it is not safe. This makes hard to
+ upstream the module.
-* Allows an interface with the kernel network stack.
+* Only a subset of control commands are supported by KNI.
The components of an application using the DPDK Kernel NIC Interface are shown in :numref:`figure_kernel_nic_intf`.