From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 64453C386 for ; Thu, 28 Jan 2016 09:16:19 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP; 28 Jan 2016 00:16:18 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,357,1449561600"; d="scan'208";a="899921655" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga002.jf.intel.com with ESMTP; 28 Jan 2016 00:16:18 -0800 Received: from fmsmsx115.amr.corp.intel.com (10.18.116.19) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 28 Jan 2016 00:16:17 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx115.amr.corp.intel.com (10.18.116.19) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 28 Jan 2016 00:16:17 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.172]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.117]) with mapi id 14.03.0248.002; Thu, 28 Jan 2016 16:16:10 +0800 From: "Xu, Qian Q" To: "Yigit, Ferruh" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH 2/2] kdp: add virtual PMD for kernel slow data path communication Thread-Index: AQHRWSCQNPPv2bqsT0uFkz8NB7yskJ8Qlafg Date: Thu, 28 Jan 2016 08:16:09 +0000 Message-ID: <82F45D86ADE5454A95A89742C8D1410E031C28C2@shsmsx102.ccr.corp.intel.com> References: <1453912360-18179-1-git-send-email-ferruh.yigit@intel.com> <1453912360-18179-3-git-send-email-ferruh.yigit@intel.com> In-Reply-To: <1453912360-18179-3-git-send-email-ferruh.yigit@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNjgxNTliYzQtYmUyMS00ODE1LTk4N2YtZjE2NmI5YzlkMjdlIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjQuMTAuMTkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiOVwvaTBPTzFuVE5LWnRmUTBiemQzOEhDS2JBdlhkYklZNHNmZ2FXQWhVU0U9In0= x-ctpclassification: CTP_IC x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 2/2] kdp: add virtual PMD for kernel slow data path communication 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: Thu, 28 Jan 2016 08:16:19 -0000 Any dependencies with kernel versions? What kernel versions should it suppo= rt?=20 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 p= ath 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 a= pplication, 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, i= f 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_bu= rst() puts packet to the FIFO. The corresponding Linux virtual network device driver code also gets/puts p= ackets 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 per= formance penalty against FIFO implementation. Signed-off-by: Ferruh Yigit --- 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 d= rivers/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/ne= t/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/k= dp/rte_pmd_kdp_version.map