DPDK  24.11.0-rc1
Data Structures | Macros | Functions
rte_vdpa.h File Reference
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  rte_vdpa_stat
 
struct  rte_vdpa_stat_name
 

Macros

#define RTE_VDPA_STATS_NAME_SIZE   64
 

Functions

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

Detailed Description

Device specific vhost lib

Definition in file rte_vdpa.h.

Macro Definition Documentation

◆ RTE_VDPA_STATS_NAME_SIZE

#define RTE_VDPA_STATS_NAME_SIZE   64

Maximum name length for statistics counters

Examples:
examples/vdpa/main.c.

Definition at line 21 of file rte_vdpa.h.

Function Documentation

◆ 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
namethe vdpa device name
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_devthe 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
devvDP device pointer
queue_numpointer 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
devvDP device pointer
featurespointer 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
devvDP device pointer
featurespointer on where the supported protocol features are stored
Returns
0 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
devvDPA device pointer
stats_namesarray of at least size elements to be filled. If set to NULL, the function returns the required number of elements.
sizeThe 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
devvDPA device pointer
qidqueue id
statsA pointer to a table of structure of type rte_vdpa_stat to be filled with device statistics ids and values.
nThe 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
devvDPA device pointer
qidqueue id
Returns
0 on success, a negative value on error.