From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f171.google.com (mail-pf0-f171.google.com [209.85.192.171]) by dpdk.org (Postfix) with ESMTP id 06F232BEF for ; Mon, 21 Mar 2016 06:45:18 +0100 (CET) Received: by mail-pf0-f171.google.com with SMTP id n5so251942543pfn.2 for ; Sun, 20 Mar 2016 22:45:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=igel-co-jp.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=9tYByeIqgCvrXw4OOcDVlTjjarD/A2YlTiLf2X/opUg=; b=gG9Jcyxznh+v+xblnV9L45bV4LuTieCkvsDfKedZgQcxiqIyBfqKsdXlRh0KFH7JAT 5XmA9kVHyuIawSGYf3zaPhjBbcivUVuOlLqQP2OnNjW1Leur5Me3GOqltRZQWR8HkJRr 28wALNTRTFIziXbuPrG5KnRXbzbJjQk89v6TUufMF6zcLYWy4EBT5EZagoFRxo/ma+NC qj78vduAmhldvPfRDuKivA5Zub7u9e1PLTJi35PARhZaXqqhkqYOqhjX1CC8IjrAICmC Px+nwCArw8hIS8S1f+xfxFygTTc5eGMfek3mta/7q0L6bIXRlfE0LQoQH+h7A+AW1NWB SvbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=9tYByeIqgCvrXw4OOcDVlTjjarD/A2YlTiLf2X/opUg=; b=kwAOAJ1HSvVYV+bdgN8kKPdLp5IYuvXdIZ75roFy3QSpUGcmt+ELrp44ezHkJK9mNT sr88d+KUpiqSScizXNB9ncTH3a5zt/6PGk43gsNoyUKcmqRYMyzLisr0zQLs2uvgZO6x XFy87GKro0qGA7z2YyyoAXDlXHC5Q3E8ujEQ7MCHEsDYNBWABKgZAkzcPjBH67evvWAr JCuDIiL/bSgUDqoQNMlpW2IVhSTG+V2rpy0ULLAEZniDp/NgUMoAw+bfTcuaLnjB8yir 6HD5vz85L4qOY1uLc8nQsyFnLzR1Djntz6M8+SszJMrwvCiaMLo/ufOuJTW0XPzBLLMg 8ogA== X-Gm-Message-State: AD7BkJJWYILYXVSAOAe+nzNBgtTK9yRwLgU5mnM2eXNoRWEESMTnTdB3z4BYgG6LsDV7lA== X-Received: by 10.98.67.195 with SMTP id l64mr42406928pfi.111.1458539117331; Sun, 20 Mar 2016 22:45:17 -0700 (PDT) Received: from localhost.localdomain (napt.igel.co.jp. [219.106.231.132]) by smtp.gmail.com with ESMTPSA id v9sm37127980pfi.50.2016.03.20.22.45.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 20 Mar 2016 22:45:16 -0700 (PDT) From: Tetsuya Mukawa To: dev@dpdk.org Cc: bruce.richardson@intel.com, ann.zhuangyanying@huawei.com, thomas.monjalon@6wind.com, Tetsuya Mukawa Date: Mon, 21 Mar 2016 14:45:06 +0900 Message-Id: <1458539108-15686-1-git-send-email-mukawa@igel.co.jp> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1458030701-11487-3-git-send-email-mukawa@igel.co.jp> References: <1458030701-11487-3-git-send-email-mukawa@igel.co.jp> Subject: [dpdk-dev] [PATCH v13 0/2] Add VHOST PMD 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: Mon, 21 Mar 2016 05:45:18 -0000 The patch introduces a new PMD. This PMD is implemented as thin wrapper of librte_vhost. PATCH v13 changes: - Rebase on latest master. - Fix commit log of below patch. - ethdev: Add a new event type to notify a queue state changed event - Fix warnings from checkpatch.pl. - Add description to doc/guides/nics/overview.rst. PATCH v12 changes: - Rebase on latest master. - Add a missing documentation. PATCH v11 changes: - Rebase on latest master. - Fix MAINTAINERS file. - Fix Acked-by and Tested-by signatures of commit log. PATCH v10 changes: - Rebase on latest master. - Fix DPDK version number(2.3 to 16.04) - Set port id to mbuf while receiving packets. PATCH v9 changes: - Fix a null pointer access issue implemented in v8 patch. PATCH v8 changes: - Manage ether devices list instead of internal structures list. - Remove needless NULL checking. - Replace "pthread_exit" to "return NULL". - Replace rte_panic to RTE_LOG, also add error handling. - Remove duplicated lines. - Remove needless casting. - Follow coding style. - Remove needless parenthesis. PATCH v7 changes: - Remove needless parenthesis. - Add release note. - Remove needless line wraps. - Add null pointer check in vring_state_changed(). - Free queue memory in eth_queue_release(). - Fix wrong variable name. - Fix error handling code of eth_dev_vhost_create() and rte_pmd_vhost_devuninit(). - Remove needless null checking from rte_pmd_vhost_devinit/devuninit(). - Use port id to create mac address. - Add doxygen style comments in "rte_eth_vhost.h". - Fix wrong comment in "mk/rte.app.mk". PATCH v6 changes: - Remove rte_vhost_driver_pmd_callback_registe(). - Support link status interrupt. - Support queue state changed interrupt. - Add rte_eth_vhost_get_queue_event(). - Support numa node detection when new device is connected. PATCH v5 changes: - Rebase on latest master. - Fix RX/TX routine to count RX/TX bytes. - Fix RX/TX routine not to count as error packets if enqueue/dequeue cannot send all packets. - Fix if-condition checking for multiqueues. - Add "static" to pthread variable. - Fix format. - Change default behavior not to receive queueing event from driver. - Split the patch to separate rte_eth_vhost_portid2vdev(). PATCH v4 changes: - Rebase on latest DPDK tree. - Fix cording style. - Fix code not to invoke multiple messaging handling threads. - Fix code to handle vdev parameters correctly. - Remove needless cast. - Remove needless if-condition before rt_free(). PATCH v3 changes: - Rebase on latest matser - Specify correct queue_id in RX/TX function. PATCH v2 changes: - Remove a below patch that fixes vhost library. The patch was applied as a separate patch. - vhost: fix crash with multiqueue enabled - Fix typos. (Thanks to Thomas, Monjalon) - Rebase on latest tree with above bernard's patches. PATCH v1 changes: - Support vhost multiple queues. - Rebase on "remove pci driver from vdevs". - Optimize RX/TX functions. - Fix resource leaks. - Fix compile issue. - Add patch to fix vhost library. RFC PATCH v3 changes: - Optimize performance. In RX/TX functions, change code to access only per core data. - Add below API to allow user to use vhost library APIs for a port managed by vhost PMD. There are a few limitations. See "rte_eth_vhost.h". - rte_eth_vhost_portid2vdev() To support this functionality, vhost library is also changed. Anyway, if users doesn't use vhost PMD, can fully use vhost library APIs. - Add code to support vhost multiple queues. Actually, multiple queues functionality is not enabled so far. RFC PATCH v2 changes: - Fix issues reported by checkpatch.pl (Thanks to Stephen Hemminger) Tetsuya Mukawa (2): ethdev: Add a new event type to notify a queue state changed event vhost: Add VHOST PMD MAINTAINERS | 5 + config/common_base | 6 + config/common_linuxapp | 1 + doc/guides/nics/index.rst | 1 + doc/guides/nics/overview.rst | 37 +- doc/guides/nics/vhost.rst | 110 ++++ doc/guides/rel_notes/release_16_04.rst | 4 + drivers/net/Makefile | 4 + drivers/net/vhost/Makefile | 62 ++ drivers/net/vhost/rte_eth_vhost.c | 917 ++++++++++++++++++++++++++++ drivers/net/vhost/rte_eth_vhost.h | 109 ++++ drivers/net/vhost/rte_pmd_vhost_version.map | 10 + lib/librte_ether/rte_ethdev.h | 2 + mk/rte.app.mk | 6 + 14 files changed, 1256 insertions(+), 18 deletions(-) create mode 100644 doc/guides/nics/vhost.rst create mode 100644 drivers/net/vhost/Makefile create mode 100644 drivers/net/vhost/rte_eth_vhost.c create mode 100644 drivers/net/vhost/rte_eth_vhost.h create mode 100644 drivers/net/vhost/rte_pmd_vhost_version.map -- 2.1.4