vhost: introduce API to fetch negotiated features

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
This commit is contained in:
Yuanhan Liu 2017-04-01 15:22:44 +08:00
parent eb32247457
commit ca33faf9ef
3 changed files with 26 additions and 0 deletions

View File

@ -37,5 +37,6 @@ DPDK_17.05 {
rte_vhost_driver_set_features;
rte_vhost_get_mem_table;
rte_vhost_get_mtu;
rte_vhost_get_negotiated_features;
} DPDK_16.07;

View File

@ -158,6 +158,18 @@ int rte_vhost_driver_disable_features(const char *path, uint64_t features);
*/
int rte_vhost_driver_get_features(const char *path, uint64_t *features);
/**
* Get the feature bits after negotiation
*
* @param vid
* Vhost device ID
* @param features
* A pointer to store the queried feature bits
* @return
* 0 on success, -1 on failure
*/
int rte_vhost_get_negotiated_features(int vid, uint64_t *features);
/* Register callbacks. */
int rte_vhost_driver_callback_register(const char *path,
struct virtio_net_device_ops const * const ops);

View File

@ -359,6 +359,19 @@ rte_vhost_get_ifname(int vid, char *buf, size_t len)
return 0;
}
int
rte_vhost_get_negotiated_features(int vid, uint64_t *features)
{
struct virtio_net *dev;
dev = get_device(vid);
if (!dev)
return -1;
*features = dev->features;
return 0;
}
int
rte_vhost_get_mem_table(int vid, struct rte_vhost_memory **mem)
{