From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B1F97A0C4D; Fri, 20 Aug 2021 14:58:50 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4654D4013F; Fri, 20 Aug 2021 14:58:50 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mails.dpdk.org (Postfix) with ESMTP id 6597B4003E for ; Fri, 20 Aug 2021 14:58:48 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629464327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=XN5HwZwl7aCdYRaqReJY6CDQk8rQTZEWB0BHz/5dAAk=; b=FCibSnIHd+qCx7POmRZ9Ei8OpVdYACngTGDBqHQ6tPDsdpvaKJ6QftYw+VhcVhE6pt+o7c xl0BjhEyePWXsixRejJNEC5h0Jn1tlB5xTG9a9ivTgOKSLvWWxzFMqjXkgWnChDhqxVcxV xpy/42/iv22qSNqJnFb0OgQTQsRTbH4= Received: from mail-vs1-f72.google.com (mail-vs1-f72.google.com [209.85.217.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-433-7ay0HzNTNgW_Bag6kSAkIA-1; Fri, 20 Aug 2021 08:58:45 -0400 X-MC-Unique: 7ay0HzNTNgW_Bag6kSAkIA-1 Received: by mail-vs1-f72.google.com with SMTP id c4-20020a67e004000000b002c362abd5deso1681818vsl.19 for ; Fri, 20 Aug 2021 05:58:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=XN5HwZwl7aCdYRaqReJY6CDQk8rQTZEWB0BHz/5dAAk=; b=hWdofOlqLJjwPTSJpcB9Y8yJ7m93MCt1i3OvYsbR81OBfp9feNQopsX6FqwBepFJjt 1xxtpZEWHtuoWkizSa8iGu3BOeAVwuIuF+Ri1BhRPklX3S2yw6foUX3amjQ4++/c5QOG BArqgnAcfQ38WPiHbWbJjo8rgQBwLPMr0wrpHbiE9mVcjHbgrdsS3Ss8wIwIHHH8dSRc PFnVRu50raC8wDcaoeJFXb8K2JjFY87rh3xMzMHgTz7+6oJb0YGnd16yFtSgDffjRBrW qQQIanRlmWArVI3sBiGGHiK6Xf8sicavUxP9NiHbSGPjV/VeDOY1hx1d0suBPvFSRMLr ePuw== X-Gm-Message-State: AOAM530Xm4HhdUIjtbS4XhTuFXMddKF0ZbYivDCTn1S/K6Fwmo0vRYpY Tt1ypUB70acWbCGUSKd4wxdWOAnKdoS6YX1eU3RZ5uQeEOYHxVpPwfb79LKFcrvznE3KPb1/l5p h10yCp8GYNg4w8OBV52s= X-Received: by 2002:a1f:a755:: with SMTP id q82mr9187717vke.22.1629464324993; Fri, 20 Aug 2021 05:58:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzmInFU4o4nLUhSJsx5QablRhB2w0RYARCT6IGApGtUuG4hsKa0TC1bDLsufwQ0WUcNX3ejNmvp/mULYrvlDek= X-Received: by 2002:a1f:a755:: with SMTP id q82mr9187684vke.22.1629464324655; Fri, 20 Aug 2021 05:58:44 -0700 (PDT) MIME-Version: 1.0 References: <20210623173142.3803801-1-ferruh.yigit@intel.com> In-Reply-To: <20210623173142.3803801-1-ferruh.yigit@intel.com> From: David Marchand Date: Fri, 20 Aug 2021 14:58:33 +0200 Message-ID: To: Ferruh Yigit Cc: dev , Keith Wiles , Stephen Hemminger , Thomas Monjalon , "Mcnamara, John" Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dmarchan@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH] doc: note KNI alternatives and deprecation plan X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Jun 23, 2021 at 7:32 PM Ferruh Yigit wrote: > > Add a note that KNI kernel module will be moved to dpdk-kmods git repo > and there is a long term plan to deprecate it. > > Also add some more details on the alternatives to KNI and cons of the > KNI against these alternatives. Some suggestions on wording below, feel free to ignore if this sounds like French ;-). > > Signed-off-by: Ferruh Yigit > --- > doc/guides/nics/tap.rst | 2 + > .../prog_guide/kernel_nic_interface.rst | 38 +++++++++++++++++-- > 2 files changed, 37 insertions(+), 3 deletions(-) > > 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 `_ The* KNI kernel module will be moved* (Olivier comment) to ... > + repository by the `DPDK technical board decision `_. repository following* the `...`_. I'd move this first part in doc/guides/rel_notes/deprecation.rst and/or release notes. Then, reword this as: > + Also there is a `long term plan `_ to deprecate the KNI. The `long term plan...`_ is* to deprecate KNI, see . > + > + :ref:`virtio_user_as_exceptional_path` alternative is preferred way for is one/a* preferred way > + interfacing with Linux network stack as it is being in-kernel solution and interfacing with the* Linux network stack as it is a* in-kernel and > + similar performance expectations. has* 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 KNI provides* an interface ... > +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 The* main use case of KNI is to* ... > +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` > + +1 to Olivier comment, for making virtio-user first. > +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: Not sure why we need an extra DPDK, KNI alone is enough. > + > +* 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 OSV as in OS vendors, right? ok for me. > + 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. of net devices control commands* > > The components of an application using the DPDK Kernel NIC Interface are shown in :numref:`figure_kernel_nic_intf`. > > -- > 2.31.1 > -- David Marchand