From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 5B74F4C76 for ; Thu, 15 Mar 2018 11:55:42 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Mar 2018 03:55:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,310,1517904000"; d="scan'208";a="25912330" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga006.jf.intel.com with ESMTP; 15 Mar 2018 03:55:39 -0700 Received: from fmsmsx118.amr.corp.intel.com (10.18.116.18) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 15 Mar 2018 03:55:39 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx118.amr.corp.intel.com (10.18.116.18) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 15 Mar 2018 03:55:39 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.235]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.226]) with mapi id 14.03.0319.002; Thu, 15 Mar 2018 18:55:37 +0800 From: "Wang, Zhihong" To: "Tan, Jianfeng" , "dev@dpdk.org" CC: "Bie, Tiwei" , "maxime.coquelin@redhat.com" , "yliu@fridaylinux.org" , "Liang, Cunming" , "Wang, Xiao W" , "Daly, Dan" Thread-Topic: [PATCH v2 6/6] vhost: export new apis Thread-Index: AQHTtGNAAP+tvTFKSEOJqDsfJ/cgAqPCco+AgA683XA= Date: Thu, 15 Mar 2018 10:55:36 +0000 Message-ID: <8F6C2BD409508844A0EFC19955BE094151406CF8@SHSMSX103.ccr.corp.intel.com> References: <1517614137-62926-1-git-send-email-zhihong.wang@intel.com> <20180213092106.57996-1-zhihong.wang@intel.com> <20180213092106.57996-7-zhihong.wang@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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 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: , X-List-Received-Date: Thu, 15 Mar 2018 10:55:44 -0000 > -----Original Message----- > From: Tan, Jianfeng > Sent: Tuesday, March 6, 2018 5:52 PM > To: Wang, Zhihong ; dev@dpdk.org > Cc: Bie, Tiwei ; maxime.coquelin@redhat.com; > yliu@fridaylinux.org; Liang, Cunming ; Wang, Xia= o > W ; Daly, Dan > Subject: RE: [PATCH v2 6/6] vhost: export new apis >=20 >=20 >=20 > > -----Original Message----- > > From: Wang, Zhihong > > Sent: Tuesday, February 13, 2018 5:21 PM > > To: dev@dpdk.org > > Cc: Tan, Jianfeng; Bie, Tiwei; maxime.coquelin@redhat.com; > > yliu@fridaylinux.org; Liang, Cunming; Wang, Xiao W; Daly, Dan; Wang, > > Zhihong > > Subject: [PATCH v2 6/6] vhost: export new apis > > > > This patch exports new APIs as experimental. >=20 > How about squeezing this patch with patch 2 where the APIs are introduced= , > as well as the related doc update? Ok, will do that. Thanks -Zhihong >=20 > Thanks, > Jianfeng >=20 > > > > 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; > > -- > > 2.13.6