[dpdk-dev,v2,6/6] vhost: export new apis

Message ID 20180213092106.57996-7-zhihong.wang@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Maxime Coquelin
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Zhihong Wang Feb. 13, 2018, 9:21 a.m. UTC
  This patch exports new APIs as experimental.

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(-)
  

Comments

Jianfeng Tan March 6, 2018, 9:51 a.m. UTC | #1
> -----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.

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

Thanks,
Jianfeng
 
> 
> 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(-)
> 
> 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
  
Zhihong Wang March 15, 2018, 10:55 a.m. UTC | #2
> -----Original Message-----
> From: Tan, Jianfeng
> Sent: Tuesday, March 6, 2018 5:52 PM
> To: Wang, Zhihong <zhihong.wang@intel.com>; dev@dpdk.org
> Cc: Bie, Tiwei <tiwei.bie@intel.com>; maxime.coquelin@redhat.com;
> yliu@fridaylinux.org; Liang, Cunming <cunming.liang@intel.com>; Wang, Xiao
> W <xiao.w.wang@intel.com>; Daly, Dan <dan.daly@intel.com>
> Subject: RE: [PATCH v2 6/6] vhost: export new apis
> 
> 
> 
> > -----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.
> 
> 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

> 
> Thanks,
> Jianfeng
> 
> >
> > 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(-)
> >
> > 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
  

Patch

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;