[PATCH v4] doc: announce KNI deprecation

Ferruh Yigit ferruh.yigit at xilinx.com
Thu Jul 14 16:50:50 CEST 2022


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.yigit at intel.com>
>>
>> Announce the deprecation plan for KNI kernel module, library and example.
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
>> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
>> ---
>> Squashed and updated 2 deprecations:
>> https://patches.dpdk.org/project/dpdk/patch/20211124171609.3101896-2-ferruh.yigit@intel.com/
>> https://patches.dpdk.org/project/dpdk/patch/20211124171609.3101896-2-ferruh.yigit@intel.com/
>> ---
> 
> One suggestion below.
> With corrected link and with/without suggested change:
> 
> Acked-by: Bruce Richardson <bruce.richardson at 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





More information about the dev mailing list