> -----Original Message----- > From: Tan, Jianfeng > Sent: Tuesday, March 6, 2018 5:52 PM > To: Wang, Zhihong <zhihong.w...@intel.com>; dev@dpdk.org > Cc: Bie, Tiwei <tiwei....@intel.com>; maxime.coque...@redhat.com; > y...@fridaylinux.org; Liang, Cunming <cunming.li...@intel.com>; Wang, Xiao > W <xiao.w.w...@intel.com>; Daly, Dan <dan.d...@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.coque...@redhat.com; > > y...@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.w...@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