On 7/14/2022 10:20 AM, Bruce Richardson wrote:
On Wed, Jul 13, 2022 at 06:10:47PM +0200, Thomas Monjalon wrote:
From: Ferruh Yigit <ferruh.yi...@intel.com>

Announce the deprecation plan for KNI kernel module, library and example.

Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com>
Signed-off-by: Thomas Monjalon <tho...@monjalon.net>
---
Squashed and updated 2 deprecations:
https://patches.dpdk.org/project/dpdk/patch/20211124171609.3101896-2-ferruh.yi...@intel.com/
https://patches.dpdk.org/project/dpdk/patch/20211124171609.3101896-2-ferruh.yi...@intel.com/
---

One suggestion below.
With corrected link and with/without suggested change:

Acked-by: Bruce Richardson <bruce.richard...@intel.com>

  doc/guides/prog_guide/kernel_nic_interface.rst | 3 +++
  doc/guides/rel_notes/deprecation.rst           | 9 +++++++++
  2 files changed, 12 insertions(+)

diff --git a/doc/guides/prog_guide/kernel_nic_interface.rst 
b/doc/guides/prog_guide/kernel_nic_interface.rst
index e021cc69b6..03b5bca958 100644
--- a/doc/guides/prog_guide/kernel_nic_interface.rst
+++ b/doc/guides/prog_guide/kernel_nic_interface.rst
@@ -8,6 +8,9 @@ Kernel NIC Interface
.. note:: + KNI is deprecated and will be removed in future.
+   See :doc:`../rel_notes/deprecation`.
+
     For an alternative to KNI, that does not require any out-of-tree Linux 
kernel modules,
     or a custom library, see :ref:`virtio_user_as_exception_path`.
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 4e5b23c53d..e54597c591 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -48,6 +48,15 @@ Deprecation Notices
    in the header will not be considered as ABI anymore. This change is inspired
    by the RFC https://patchwork.dpdk.org/project/dpdk/list/?series=17176.
+* kni: The KNI kernel module and library are not recommended for use by new
+  applications - other technologies such as virtio-user are recommended 
instead.
+  The KNI kernel module and library will be removed from DPDK 23.11,
+  following the DPDK technical board
+  `decision <https://mails.dpdk.org/archives/dev/2021-January/197077.html>`_
+  and `refinement <http://mails.dpdk.org/archives/dev/2022-June/243596.html>`_.
+  The first steps are to add deprecation warnings
+  and to remove the example application from 22.11.
+

I wonder whether having this done as bullet points in chronological order
might be clearer. Something like:

* kni: The KNI kernel module and library are not recommended for use by new
   applications - other technologies such as virtio-user are recommended 
instead.
   Following the DPDK technical board
   `decision <https://mails.dpdk.org/archives/dev/2021-January/197077.html>`_
   and `refinement <http://mails.dpdk.org/archives/dev/2022-June/243596.html>`_:
   * The KNI example application will be removed from DPDK 22.11 release
   * The KNI kernel module and library will be removed from the DPDK 23.11
     release

+1 to list actions in chronological order

I have a concern with removing sample application without replacing one with alternate methods: virtio-user and tun/tap.

It is easy to create a virtio-user PMD by testpmd or any sample application, and as far as I understand Bruce already documented this. But for many KNI users they are not using KNI PMD, so replacing KNI with this new method may require some hand holding. One option can be hotplug the virtio-user PMD and use the port_id for packet forwarding, and I don't know if the PMD has APIs that applications can use directly, as done in KNI, @Maxime & @Chenbo can answer this better.

It can be good to have a sample application for above before deprecating the KNI sample application. And same sample can use tun/tap PMD with a runtime parameter, to show how other example can be used, again tap can be used as tap PMD or Linux tun/tap APIs.

Question is who can work on such a sample, but if we can find some resource I am for having a replacement exception path sample app before deprecating KNI.

Thanks,
ferruh



Reply via email to