From patchwork Tue Feb 13 09:21:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhihong Wang X-Patchwork-Id: 35639 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DA5C15F59; Mon, 5 Mar 2018 10:20:31 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 916815F1B for ; Mon, 5 Mar 2018 10:20:29 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Mar 2018 01:20:29 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.47,426,1515484800"; d="scan'208";a="35531758" Received: from unknown (HELO dpdk99.sh.intel.com) ([10.67.110.156]) by fmsmga001.fm.intel.com with ESMTP; 05 Mar 2018 01:20:27 -0800 From: Zhihong Wang To: dev@dpdk.org Cc: jianfeng.tan@intel.com, tiwei.bie@intel.com, maxime.coquelin@redhat.com, yliu@fridaylinux.org, cunming.liang@intel.com, xiao.w.wang@intel.com, dan.daly@intel.com, Zhihong Wang Date: Tue, 13 Feb 2018 17:21:06 +0800 Message-Id: <20180213092106.57996-7-zhihong.wang@intel.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20180213092106.57996-1-zhihong.wang@intel.com> References: <1517614137-62926-1-git-send-email-zhihong.wang@intel.com> <20180213092106.57996-1-zhihong.wang@intel.com> Subject: [dpdk-dev] [PATCH v2 6/6] vhost: export new apis 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch exports new APIs as experimental. Signed-off-by: Zhihong Wang --- lib/librte_vhost/rte_vdpa.h | 16 +++++++++++----- lib/librte_vhost/rte_vhost.h | 33 ++++++++++++++++++++++----------- lib/librte_vhost/rte_vhost_version.map | 19 +++++++++++++++++++ 3 files changed, 52 insertions(+), 16 deletions(-) diff --git a/lib/librte_vhost/rte_vdpa.h b/lib/librte_vhost/rte_vdpa.h index 1bde36f7f..23fb471be 100644 --- a/lib/librte_vhost/rte_vdpa.h +++ b/lib/librte_vhost/rte_vdpa.h @@ -100,15 +100,21 @@ extern struct rte_vdpa_engine *vdpa_engines[]; extern uint32_t vdpa_engine_num; /* engine management */ -int rte_vdpa_register_engine(const char *name, struct rte_vdpa_eng_addr *addr); -int rte_vdpa_unregister_engine(int eid); +int __rte_experimental +rte_vdpa_register_engine(const char *name, struct rte_vdpa_eng_addr *addr); -int rte_vdpa_find_engine_id(struct rte_vdpa_eng_addr *addr); +int __rte_experimental +rte_vdpa_unregister_engine(int eid); -int rte_vdpa_info_query(int eid, struct rte_vdpa_eng_attr *attr); +int __rte_experimental +rte_vdpa_find_engine_id(struct rte_vdpa_eng_addr *addr); + +int __rte_experimental +rte_vdpa_info_query(int eid, struct rte_vdpa_eng_attr *attr); /* driver register api */ -void rte_vdpa_register_driver(struct rte_vdpa_eng_driver *drv); +void __rte_experimental +rte_vdpa_register_driver(struct rte_vdpa_eng_driver *drv); #define RTE_VDPA_REGISTER_DRIVER(nm, drv) \ RTE_INIT(vdpainitfn_ ##nm); \ diff --git a/lib/librte_vhost/rte_vhost.h b/lib/librte_vhost/rte_vhost.h index 48005d9ff..d5589c543 100644 --- a/lib/librte_vhost/rte_vhost.h +++ b/lib/librte_vhost/rte_vhost.h @@ -187,7 +187,8 @@ int rte_vhost_driver_unregister(const char *path); * @return * 0 on success, -1 on failure */ -int rte_vhost_driver_set_vdpa_eid(const char *path, int eid); +int __rte_experimental +rte_vhost_driver_set_vdpa_eid(const char *path, int eid); /** * Set the device id, enforce single connection per socket @@ -199,7 +200,8 @@ int rte_vhost_driver_set_vdpa_eid(const char *path, int eid); * @return * 0 on success, -1 on failure */ -int rte_vhost_driver_set_vdpa_did(const char *path, int did); +int __rte_experimental +rte_vhost_driver_set_vdpa_did(const char *path, int did); /** * Get the engine id @@ -209,7 +211,8 @@ int rte_vhost_driver_set_vdpa_did(const char *path, int did); * @return * Engine id, -1 on failure */ -int rte_vhost_driver_get_vdpa_eid(const char *path); +int __rte_experimental +rte_vhost_driver_get_vdpa_eid(const char *path); /** * Get the device id @@ -219,7 +222,8 @@ int rte_vhost_driver_get_vdpa_eid(const char *path); * @return * Device id, -1 on failure */ -int rte_vhost_driver_get_vdpa_did(const char *path); +int __rte_experimental +rte_vhost_driver_get_vdpa_did(const char *path); /** * Set the feature bits the vhost-user driver supports. @@ -286,7 +290,8 @@ int rte_vhost_driver_get_features(const char *path, uint64_t *features); * @return * 0 on success, -1 on failure */ -int rte_vhost_driver_get_protocol_features(const char *path, +int __rte_experimental +rte_vhost_driver_get_protocol_features(const char *path, uint64_t *protocol_features); /** @@ -299,7 +304,8 @@ int rte_vhost_driver_get_protocol_features(const char *path, * @return * 0 on success, -1 on failure */ -int rte_vhost_driver_get_queue_num(const char *path, uint32_t *queue_num); +int __rte_experimental +rte_vhost_driver_get_queue_num(const char *path, uint32_t *queue_num); /** * Get the feature bits after negotiation @@ -523,7 +529,8 @@ uint32_t rte_vhost_rx_queue_count(int vid, uint16_t qid); * @return * 0 on success, -1 on failure */ -int rte_vhost_get_log_base(int vid, uint64_t *log_base, +int __rte_experimental +rte_vhost_get_log_base(int vid, uint64_t *log_base, uint64_t *log_size); /** @@ -540,7 +547,8 @@ int rte_vhost_get_log_base(int vid, uint64_t *log_base, * @return * 0 on success, -1 on failure */ -int rte_vhost_get_vring_base(int vid, uint16_t queue_id, +int __rte_experimental +rte_vhost_get_vring_base(int vid, uint16_t queue_id, uint16_t *last_avail_idx, uint16_t *last_used_idx); /** @@ -557,7 +565,8 @@ int rte_vhost_get_vring_base(int vid, uint16_t queue_id, * @return * 0 on success, -1 on failure */ -int rte_vhost_set_vring_base(int vid, uint16_t queue_id, +int __rte_experimental +rte_vhost_set_vring_base(int vid, uint16_t queue_id, uint16_t last_avail_idx, uint16_t last_used_idx); /** @@ -568,7 +577,8 @@ int rte_vhost_set_vring_base(int vid, uint16_t queue_id, * @return * engine id */ -int rte_vhost_get_vdpa_eid(int vid); +int __rte_experimental +rte_vhost_get_vdpa_eid(int vid); /** * Get vdpa device id for vhost device. @@ -578,7 +588,8 @@ int rte_vhost_get_vdpa_eid(int vid); * @return * device id */ -int rte_vhost_get_vdpa_did(int vid); +int __rte_experimental +rte_vhost_get_vdpa_did(int vid); #ifdef __cplusplus } diff --git a/lib/librte_vhost/rte_vhost_version.map b/lib/librte_vhost/rte_vhost_version.map index df0103129..36257e51b 100644 --- a/lib/librte_vhost/rte_vhost_version.map +++ b/lib/librte_vhost/rte_vhost_version.map @@ -59,3 +59,22 @@ DPDK_18.02 { rte_vhost_vring_call; } DPDK_17.08; + +EXPERIMENTAL { + rte_vhost_driver_set_vdpa_eid; + rte_vhost_driver_set_vdpa_did; + rte_vhost_driver_get_vdpa_eid; + rte_vhost_driver_get_vdpa_did; + rte_vhost_driver_get_protocol_features; + rte_vhost_driver_get_queue_num; + rte_vhost_get_log_base; + rte_vhost_get_vring_base; + rte_vhost_set_vring_base; + rte_vhost_get_vdpa_eid; + rte_vhost_get_vdpa_did; + rte_vdpa_register_engine; + rte_vdpa_unregister_engine; + rte_vdpa_find_engine_id; + rte_vdpa_info_query; + rte_vdpa_register_driver; +} DPDK_18.02;