From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 4D7AD2A5B for ; Mon, 23 Jan 2017 14:02:19 +0100 (CET) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP; 23 Jan 2017 05:02:18 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,274,1477983600"; d="scan'208";a="925635341" Received: from yliu-dev.sh.intel.com ([10.239.67.162]) by orsmga003.jf.intel.com with ESMTP; 23 Jan 2017 05:02:16 -0800 From: Yuanhan Liu To: dev@dpdk.org Cc: Thomas Monjalon , Maxime Coquelin , John McNamara , Yuanhan Liu Date: Mon, 23 Jan 2017 21:04:42 +0800 Message-Id: <1485176682-12379-1-git-send-email-yuanhan.liu@linux.intel.com> X-Mailer: git-send-email 1.9.0 Subject: [dpdk-dev] [PATCH] doc: announce API/ABI changes for vhost X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jan 2017 13:02:19 -0000 I made a vhost ABI/API refactoring at v16.04, meant to avoid such issue forever. Well, apparently, I lied. People are looking for more vhost-user options now days, other than vhost-user net only. For example, SPDK (Storage Performance Development Kit) are looking for chance of vhost-user SCSI and vhost-user block. Apparently, they also need a vhost-user backend, while DPDK already has a (mature enough) backend, they don't want to implement it again from scratch. They want to leverage the one DPDK provides. However, the last refactoring hasn't done that right, at least it's not friendly for extending vhost-user to add more devices support. For example, different virtio devices has its own feature set, while APIs like rte_vhost_feature_disable(feature_mask) have no option to tell the device type. Thus, a more proper API should look like: rte_vhost_feature_disable(device_type, feature_mask); Besides that, few public files and structures should be renamed, to not let it bind to virtio-net. Specifically, they are: - virtio_net_device_ops --> vhost_device_ops - rte_virtio_net.h --> rte_vhost.h Signed-off-by: Yuanhan Liu --- I intended to send out the code first (I have already finished the better part of it), while I'm starting vacation since tomorrow, leaving me no time for that. --- doc/guides/rel_notes/deprecation.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 755dc65..5d6e9b6 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -62,3 +62,12 @@ Deprecation Notices PMDs that implement the latter. Target release for removal of the legacy API will be defined once most PMDs have switched to rte_flow. + +* vhost: API/ABI changes are planned for 17.05, for making DPDK vhost library + generic enough so that applications can build different vhost-user drivers + (instead of vhost-user net only) on top of that. + Specifically, ``virtio_net_device_ops`` will be renamed to ``vhost_device_ops``. + Correspondingly, some API's parameter need be changed. Few more functions also + need be reworked to let it be device aware. For example, different virtio device + has different feature set, meaning functions like ``rte_vhost_feature_disable`` + need be changed. Last, file rte_virtio_net.h will be renamed to rte_vhost.h. -- 1.9.0