From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 9903F2C1A for ; Wed, 16 Mar 2016 14:15:26 +0100 (CET) Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 1A0E08F511; Wed, 16 Mar 2016 13:15:26 +0000 (UTC) Received: from sopuli.koti.laiskiainen.org (vpn1-6-187.ams2.redhat.com [10.36.6.187]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u2GDFOmu029054; Wed, 16 Mar 2016 09:15:24 -0400 To: Ferruh Yigit , dev@dpdk.org References: <1455858349-14639-1-git-send-email-ferruh.yigit@intel.com> <1457522269-2198-1-git-send-email-ferruh.yigit@intel.com> <56E6D9A4.4090705@intel.com> <56E90A9F.4020608@redhat.com> <56E91720.5070607@intel.com> <56E917AD.2060701@redhat.com> <56E934E5.4080905@intel.com> Cc: David Marchand , Helin Zhang , Thomas Monjalon From: Panu Matilainen Message-ID: <56E95C6B.1000004@redhat.com> Date: Wed, 16 Mar 2016 15:15:23 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <56E934E5.4080905@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 Subject: Re: [dpdk-dev] [PATCH v3 0/2] slow data path communication between DPDK port and Linux X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Mar 2016 13:15:27 -0000 On 03/16/2016 12:26 PM, Ferruh Yigit wrote: > On 3/16/2016 8:22 AM, Panu Matilainen wrote: >> On 03/16/2016 10:19 AM, Ferruh Yigit wrote: >>> On 3/16/2016 7:26 AM, Panu Matilainen wrote: >>>> On 03/14/2016 05:32 PM, Ferruh Yigit wrote: >>>>> On 3/9/2016 11:17 AM, Ferruh Yigit wrote: >>>>>> This patch sent to keep record of latest status of the work. >>>>>> >>>>>> >>>>>> This is slow data path communication implementation based on existing KNI. >>>>>> >>>>>> Difference is: librte_kni converted into a PMD, kdp kernel module is almost >>>>>> same except all control path functionality removed and some simplification done. >>>>>> >>>>>> Motivation is to simplify slow path data communication. >>>>>> Now any application can use this new PMD to send/get data to Linux kernel. >>>>>> >>>>>> PMD supports two communication methods: >>>>>> >>>>>> 1) KDP kernel module >>>>>> PMD initialization functions handles creating virtual interfaces (with help of >>>>>> kdp kernel module) and created FIFO. FIFO is used to share data between >>>>>> userspace and kernelspace. This is default method. >>>>>> >>>>>> 2) tun/tap module >>>>>> When KDP module is not inserted, PMD creates tap interface and transfers >>>>>> packets using tap interface. >>>>>> >>>>>> In long term this patch intends to replace the KNI and KNI will be >>>>>> depreciated. >>>>>> >>>>> >>>>> Self-NACK: Will work on another option that does not introduce new >>>>> kernel module. >>>>> >>>> >>>> Hmm, care to elaborate a bit? The second mode of this PMD already was >>>> free of external kernel modules. Do you mean you'll be just removing >>>> mode 1) from the PMD or looking at something completely different? >>>> >>>> Just thinking that tun/tap PMD sounds like a useful thing to have, I >>>> hope you're not abandoning that. >>>> >>> >>> It will be KNI PMD. >>> Plan is to have something like KDP, but with existing KNI kernel module. >>> There will be tun/tap support as fallback. >> >> Hum, now I'm confused. I was under the impression everybody hated KNI >> and wanted to get rid of it, and certainly not build future solutions on >> top of it? >> > > We can't remove it. > We can't replace/improve it -you were one of the major opposition to this. No no no. There's a misunderstanding somewhere in there. I understand the functionality provided by KNI is important. I'd LOVE to see the it replaced. With something that does not require out-of-tree kernel modules. As long as out-of-tree kernel modules are in the picture, the feature might as well not exist at all for the audience I'm dealing with. To that audience, replacing KNI with out-of-tree KCP/KDP or whatever is just irrelevant, there's no progress being made. I also understand there are lot of users to whom out-of-tree kernel modules are not a problem at all, and I'm in no position to tell them that's somehow wrong. If KCP/KDP is better than KNI for that audience then more power to them. But I dont see why such modules would *have* to be within the dpdk source - as suggested several times around this thread/topic such work could live in a separate repository or such. What I really would like to see is a clear policy regarding kernel modules in DPDK. I certainly am in no position to dictate one, and that's why I've been asking questions and throwing around crazy (or not) ideas around the topic. - Panu -