#include <stdint.h>
Go to the source code of this file.
|
struct rte_vdpa_device * | rte_vdpa_find_device_by_name (const char *name) |
|
struct rte_device * | rte_vdpa_get_rte_device (struct rte_vdpa_device *vdpa_dev) |
|
int | rte_vdpa_get_queue_num (struct rte_vdpa_device *dev, uint32_t *queue_num) |
|
int | rte_vdpa_get_features (struct rte_vdpa_device *dev, uint64_t *features) |
|
int | rte_vdpa_get_protocol_features (struct rte_vdpa_device *dev, uint64_t *features) |
|
int | rte_vdpa_relay_vring_used (int vid, uint16_t qid, void *vring_m) |
|
int | rte_vdpa_get_stats_names (struct rte_vdpa_device *dev, struct rte_vdpa_stat_name *stats_names, unsigned int size) |
|
int | rte_vdpa_get_stats (struct rte_vdpa_device *dev, uint16_t qid, struct rte_vdpa_stat *stats, unsigned int n) |
|
int | rte_vdpa_reset_stats (struct rte_vdpa_device *dev, uint16_t qid) |
|
Device specific vhost lib
Definition in file rte_vdpa.h.
◆ RTE_VDPA_STATS_NAME_SIZE
#define RTE_VDPA_STATS_NAME_SIZE 64 |
◆ rte_vdpa_find_device_by_name()
struct rte_vdpa_device* rte_vdpa_find_device_by_name |
( |
const char * |
name | ) |
|
Find the device id of a vdpa device from its name
- Parameters
-
- Returns
- vDPA device pointer on success, NULL on failure
- Examples:
- examples/vdpa/main.c.
◆ rte_vdpa_get_rte_device()
struct rte_device* rte_vdpa_get_rte_device |
( |
struct rte_vdpa_device * |
vdpa_dev | ) |
|
Get the generic device from the vdpa device
- Parameters
-
vdpa_dev | the vdpa device pointer |
- Returns
- generic device pointer on success, NULL on failure
- Examples:
- examples/vdpa/main.c.
◆ rte_vdpa_get_queue_num()
int rte_vdpa_get_queue_num |
( |
struct rte_vdpa_device * |
dev, |
|
|
uint32_t * |
queue_num |
|
) |
| |
Get number of queue pairs supported by the vDPA device
- Parameters
-
dev | vDP device pointer |
queue_num | pointer on where the number of queue is stored |
- Returns
- 0 on success, -1 on failure
- Examples:
- examples/vdpa/main.c.
◆ rte_vdpa_get_features()
int rte_vdpa_get_features |
( |
struct rte_vdpa_device * |
dev, |
|
|
uint64_t * |
features |
|
) |
| |
Get the Virtio features supported by the vDPA device
- Parameters
-
dev | vDP device pointer |
features | pointer on where the supported features are stored |
- Returns
- 0 on success, -1 on failure
- Examples:
- examples/vdpa/main.c.
◆ rte_vdpa_get_protocol_features()
int rte_vdpa_get_protocol_features |
( |
struct rte_vdpa_device * |
dev, |
|
|
uint64_t * |
features |
|
) |
| |
Get the Vhost-user protocol features supported by the vDPA device
- Parameters
-
dev | vDP device pointer |
features | pointer on where the supported protocol features are stored |
- Returns
- 0 on success, -1 on failure
◆ rte_vdpa_relay_vring_used()
int rte_vdpa_relay_vring_used |
( |
int |
vid, |
|
|
uint16_t |
qid, |
|
|
void * |
vring_m |
|
) |
| |
Synchronize the used ring from mediated ring to guest, log dirty page for each writeable buffer, caller should handle the used ring logging before device stop.
- Parameters
-
vid | vhost device id |
qid | vhost queue id |
vring_m | mediated virtio ring pointer |
- Returns
- number of synced used entries on success, -1 on failure
◆ rte_vdpa_get_stats_names()
int rte_vdpa_get_stats_names |
( |
struct rte_vdpa_device * |
dev, |
|
|
struct rte_vdpa_stat_name * |
stats_names, |
|
|
unsigned int |
size |
|
) |
| |
Retrieve names of statistics of a vDPA device.
There is an assumption that 'stat_names' and 'stats' arrays are matched by array index: stats_names[i].name => stats[i].value
And the array index is same with id field of 'struct rte_vdpa_stat': stats[i].id == i
- Parameters
-
dev | vDPA device pointer |
stats_names | array of at least size elements to be filled. If set to NULL, the function returns the required number of elements. |
size | The number of elements in stats_names array. |
- Returns
- A negative value on error, otherwise the number of entries filled in the stats name array.
- Examples:
- examples/vdpa/main.c.
◆ rte_vdpa_get_stats()
int rte_vdpa_get_stats |
( |
struct rte_vdpa_device * |
dev, |
|
|
uint16_t |
qid, |
|
|
struct rte_vdpa_stat * |
stats, |
|
|
unsigned int |
n |
|
) |
| |
Retrieve statistics of a vDPA device.
There is an assumption that 'stat_names' and 'stats' arrays are matched by array index: stats_names[i].name => stats[i].value
And the array index is same with id field of 'struct rte_vdpa_stat': stats[i].id == i
- Parameters
-
dev | vDPA device pointer |
qid | queue id |
stats | A pointer to a table of structure of type rte_vdpa_stat to be filled with device statistics ids and values. |
n | The number of elements in stats array. |
- Returns
- A negative value on error, otherwise the number of entries filled in the stats table.
- Examples:
- examples/vdpa/main.c.
◆ rte_vdpa_reset_stats()
int rte_vdpa_reset_stats |
( |
struct rte_vdpa_device * |
dev, |
|
|
uint16_t |
qid |
|
) |
| |
Reset statistics of a vDPA device.
- Parameters
-
dev | vDPA device pointer |
qid | queue id |
- Returns
- 0 on success, a negative value on error.