From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <jianfeng.tan@intel.com>
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by dpdk.org (Postfix) with ESMTP id 8D2814C79
 for <dev@dpdk.org>; Tue,  6 Mar 2018 10:51:46 +0100 (CET)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga003.jf.intel.com ([10.7.209.27])
 by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 06 Mar 2018 01:51:44 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.47,430,1515484800"; d="scan'208";a="32760242"
Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206])
 by orsmga003.jf.intel.com with ESMTP; 06 Mar 2018 01:51:43 -0800
Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by
 FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS)
 id 14.3.319.2; Tue, 6 Mar 2018 01:51:42 -0800
Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by
 fmsmsx110.amr.corp.intel.com (10.18.116.10) with Microsoft SMTP Server (TLS)
 id 14.3.319.2; Tue, 6 Mar 2018 01:51:42 -0800
Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.116]) by
 SHSMSX104.ccr.corp.intel.com ([169.254.5.125]) with mapi id 14.03.0319.002;
 Tue, 6 Mar 2018 17:51:39 +0800
From: "Tan, Jianfeng" <jianfeng.tan@intel.com>
To: "Wang, Zhihong" <zhihong.wang@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
CC: "Bie, Tiwei" <tiwei.bie@intel.com>, "maxime.coquelin@redhat.com"
 <maxime.coquelin@redhat.com>, "yliu@fridaylinux.org" <yliu@fridaylinux.org>,
 "Liang, Cunming" <cunming.liang@intel.com>, "Wang, Xiao W"
 <xiao.w.wang@intel.com>, "Daly, Dan" <dan.daly@intel.com>
Thread-Topic: [PATCH v2 6/6] vhost: export new apis
Thread-Index: AQHTtGNAV6c9eJYR002mOBgNwnMGkaPC+E0A
Date: Tue, 6 Mar 2018 09:51:39 +0000
Message-ID: <ED26CBA2FAD1BF48A8719AEF02201E3651463B97@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: <20180213092106.57996-7-zhihong.wang@intel.com>
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 <dev.dpdk.org>
List-Unsubscribe: <https://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Mar 2018 09:51:48 -0000



> -----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
>=20
> This patch exports new APIs as experimental.

How about squeezing this patch with patch 2 where the APIs are introduced, =
as well as the related doc update?

Thanks,
Jianfeng
=20
>=20
> Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
> ---
>  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(-)
>=20
> 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;
>=20
>  /* 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);
>=20
> -int rte_vdpa_find_engine_id(struct rte_vdpa_eng_addr *addr);
> +int __rte_experimental
> +rte_vdpa_unregister_engine(int eid);
>=20
> -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);
>=20
>  /* 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);
>=20
>  #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);
>=20
>  /**
>   * 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);
>=20
>  /**
>   * 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);
>=20
>  /**
>   * 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);
>=20
>  /**
>   * 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);
>=20
>  /**
> @@ -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);
>=20
>  /**
>   * 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);
>=20
>  /**
> @@ -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);
>=20
>  /**
> @@ -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);
>=20
>  /**
> @@ -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);
>=20
>  /**
>   * 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);
>=20
>  #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;
>=20
>  } 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