[dpdk-dev] Sharing NIC port between Linux and DPDK

Zhou, Danny danny.zhou at intel.com
Mon Jan 19 07:37:59 CET 2015


DPDK KNI(Kernel NIC interface) is your only option before bifurcated driver is adopted. 
Basically, DPDK rx/tx all packets and do flow classification (e.g. 5-tuple based) in user
space then distribute control plane packets to KNI netdev in kernel space via 
lockless queue based ring. The KNI netdev registers to kernel TCP/IP stack and
push control plane packets all the way up to the Linux user space control plane 
applications.

If you have user space TCP/IP stacks and requires very high control plane performance,
you might take a short path by distributing control plane packets to your applications 
directly. The reason we have KNI is that it could leverage mature enough TCP/IP stacks,
at the cost of CPU cycles.

> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Deepak Sehrawat
> Sent: Monday, January 19, 2015 2:23 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] Sharing NIC port between Linux and DPDK
> 
> Hi All,
> 
> What are the various means available (as of now) to share a NIC port
> between Linux and DPDK applications? Idea is to separate control packets
> and data packets; using Linux userspace application to process control
> packets while DPDK application to access/process data packets (same NIC
> port is carrying both of these packet traffics; control as well as data).
> 
> Note: Bifurcated driver is next step but it's not available as of now.
> 
> 
> Thanks,
> Deepak


More information about the dev mailing list