[dpdk-dev] [PATCH v3 0/2] slow data path communication between DPDK port and Linux

Panu Matilainen pmatilai at redhat.com
Wed Mar 16 14:15:23 CET 2016


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 -



More information about the dev mailing list