DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Xu, Qian Q" <qian.q.xu@intel.com>
To: "Yigit, Ferruh" <ferruh.yigit@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH 2/2] kdp: add virtual PMD for kernel slow data	path communication
Date: Thu, 28 Jan 2016 08:16:09 +0000	[thread overview]
Message-ID: <82F45D86ADE5454A95A89742C8D1410E031C28C2@shsmsx102.ccr.corp.intel.com> (raw)
In-Reply-To: <1453912360-18179-3-git-send-email-ferruh.yigit@intel.com>

Any dependencies with kernel versions? What kernel versions should it support? 

Thanks
Qian

-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ferruh Yigit
Sent: Thursday, January 28, 2016 12:33 AM
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH 2/2] kdp: add virtual PMD for kernel slow data path communication

This patch provides slow data path communication to the Linux kernel.
Patch is based on librte_kni, and heavily re-uses it.

The main difference is librte_kni library converted into a PMD, to provide ease of use for applications.

Now any application can use slow path communication without any update in application, because of existing eal support for virtual PMD.

Also this PMD supports two methods to send packets to the Linux, first one is custom FIFO implementation with help of KDP kernel module, second one is Linux in-kernel tun/tap support. PMD first checks for KDP kernel module, if fails it tries to create and use a tap interface.

With FIFO method: PMD's rx_pkt_burst() get packets from FIFO, and tx_pkt_burst() puts packet to the FIFO.
The corresponding Linux virtual network device driver code also gets/puts packets from FIFO as they are coming from hardware.

With tun/tap method: no external kernel module required, PMD reads from and writes packets to the tap interface file descriptor. Tap interface has performance penalty against FIFO implementation.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 config/common_linuxapp                  |   1 +
 doc/guides/nics/pcap_ring.rst           | 125 ++++++++-
 doc/guides/rel_notes/release_2_3.rst    |   6 +
 drivers/net/Makefile                    |   3 +-
 drivers/net/kdp/Makefile                |  61 ++++
 drivers/net/kdp/rte_eth_kdp.c           | 481 ++++++++++++++++++++++++++++++++
 drivers/net/kdp/rte_kdp.c               | 365 ++++++++++++++++++++++++
 drivers/net/kdp/rte_kdp.h               | 126 +++++++++
 drivers/net/kdp/rte_kdp_fifo.h          |  91 ++++++
 drivers/net/kdp/rte_kdp_tap.c           |  96 +++++++
 drivers/net/kdp/rte_pmd_kdp_version.map |   4 +
 lib/librte_eal/common/include/rte_log.h |   3 +-
 mk/rte.app.mk                           |   3 +-
 13 files changed, 1359 insertions(+), 6 deletions(-)  create mode 100644 drivers/net/kdp/Makefile  create mode 100644 drivers/net/kdp/rte_eth_kdp.c  create mode 100644 drivers/net/kdp/rte_kdp.c  create mode 100644 drivers/net/kdp/rte_kdp.h  create mode 100644 drivers/net/kdp/rte_kdp_fifo.h  create mode 100644 drivers/net/kdp/rte_kdp_tap.c  create mode 100644 drivers/net/kdp/rte_pmd_kdp_version.map

  reply	other threads:[~2016-01-28  8:16 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-27 16:32 [dpdk-dev] [PATCH 0/2] slow data path communication between DPDK port and Linux Ferruh Yigit
2016-01-27 16:32 ` [dpdk-dev] [PATCH 1/2] kdp: add kernel data path kernel module Ferruh Yigit
2016-02-08 17:14   ` Reshma Pattan
2016-02-09 10:53     ` Ferruh Yigit
2016-01-27 16:32 ` [dpdk-dev] [PATCH 2/2] kdp: add virtual PMD for kernel slow data path communication Ferruh Yigit
2016-01-28  8:16   ` Xu, Qian Q [this message]
2016-01-29 16:04     ` Yigit, Ferruh
2016-02-09 17:33   ` Reshma Pattan
2016-02-09 17:51     ` Ferruh Yigit
2016-02-19  5:05 ` [dpdk-dev] [PATCH v2 0/2] slow data path communication between DPDK port and Linux Ferruh Yigit
2016-02-19  5:05   ` [dpdk-dev] [PATCH v2 1/2] kdp: add kernel data path kernel module Ferruh Yigit
2016-02-19  5:05   ` [dpdk-dev] [PATCH v2 2/2] kdp: add virtual PMD for kernel slow data path communication Ferruh Yigit
2016-03-09 11:17   ` [dpdk-dev] [PATCH v3 0/2] slow data path communication between DPDK port and Linux Ferruh Yigit
2016-03-09 11:17     ` [dpdk-dev] [PATCH v3 1/2] kdp: add kernel data path kernel module Ferruh Yigit
2016-03-09 11:17     ` [dpdk-dev] [PATCH v3 2/2] kdp: add virtual PMD for kernel slow data path communication Ferruh Yigit
2016-03-14 15:32     ` [dpdk-dev] [PATCH v3 0/2] slow data path communication between DPDK port and Linux Ferruh Yigit
2016-03-16  7:26       ` Panu Matilainen
2016-03-16  8:19         ` Ferruh Yigit
2016-03-16  8:22           ` Panu Matilainen
2016-03-16 10:26             ` Ferruh Yigit
2016-03-16 10:45               ` Thomas Monjalon
2016-03-16 11:07                 ` Mcnamara, John
2016-03-16 11:13                 ` Ferruh Yigit
2016-03-16 13:23                   ` Panu Matilainen
2016-03-16 13:15               ` Panu Matilainen
2016-03-16 13:58                 ` Thomas Monjalon
2016-03-16 15:03                   ` Panu Matilainen
2016-03-16 15:15                     ` Thomas Monjalon
2016-03-16 11:07             ` Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=82F45D86ADE5454A95A89742C8D1410E031C28C2@shsmsx102.ccr.corp.intel.com \
    --to=qian.q.xu@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).