Thread (83 messages) 83 messages, 11 authors, 2016-03-15

Re: [PATCH 1/3] kcp: add kernel control path kernel module

From: Avi Kivity <hidden>
Date: 2016-02-29 09:43:32

On 02/28/2016 10:16 PM, Ferruh Yigit wrote:
On 2/28/2016 3:34 PM, Avi Kivity wrote:
quoted
On 01/27/2016 06:24 PM, Ferruh Yigit wrote:
quoted
This kernel module is based on KNI module, but this one is stripped
version of it and only for control messages, no data transfer
functionality provided.

This Linux kernel module helps userspace application create virtual
interfaces and when a control command issued into that virtual
interface, module pushes the command to the userspace and gets the
response back for the caller application.

The Linux tools like ethtool/ifconfig/ip can be used on virtual
interfaces but not ones for related data, like tcpdump.

In long term this patch intends to replace the KNI and KNI will be
depreciated.
Instead of adding yet another out-of-tree kernel module, why not extend
the existing in-tree tap driver?  This will make everyone's life easier.

Since tap also supports data transfer, an application can also forward
packets not intended to it to the kernel, and forward packets from the
kernel through the device.
Hi Avi,

KDP (Kernel Data Path) does what you have described, it is implemented
as PMD and it benefits from tap driver to data transfer through the
kernel. It also support custom kernel module for better performance.

For KCP (Kernel Control Path), network driver forwards control commands
to the userspace driver, I doubt this is something wanted for tun/tap
driver, so extending tun/tap driver like this can be hard to upstream.
Have you tried asking?  Maybe if you explain it they will be open to the 
extension.

Certainly it will be better to have KCP and KDP use the same kernel 
interface name; so we'll need to either add data path support to kcp 
(causing duplication with tap), or add control path support to tap. I 
think the latter is preferable.
We are investigating about adding a native support to Linux kernel for
KCP, but there is no task started for this right now, any support is
welcome.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help