rte_vdpa.h(3)

πŸ’– rte_vdpa.h β€” the bestie guide to vDPA πŸ’–

okay so. this is rte_vdpa.h, section 3 of the Library Functions Manual, and it's literally the header that gives you device-specific vhost lib energy. it's the header file, it's the whole vibe, and yes we're going through every single thing in it. no skipping. periodt. πŸŽ€


✨ NAME ✨

rte_vdpa.h β€” that's it, that's the name, she's an icon and she doesn't need a subtitle. πŸ‘‘


🌸 SYNOPSIS 🌸

#include <stdint.h>

πŸ¦‹ 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. that's the whole summary bestie, she said what she said.

Definition in file rte_vdpa.h.


πŸ’œ Macro Definition Documentation πŸ’œ

#define RTE_VDPA_STATS_NAME_SIZE 64

Maximum name length for statistics counters. sixty-four characters of pure counter-naming real estate, don't waste it. ✨

Definition at line 21 of file rte_vdpa.h.


🌈 Function Documentation 🌈

struct rte_vdpa_device * rte_vdpa_find_device_by_name (const char * name)

Find the device id of a vdpa device from its name. like a little name-to-device matchmaking service, honestly kind of romantic. πŸ’–

Parameters

  • name β€” the vdpa device name

Returns

vDPA device pointer on success, NULL on failure


struct rte_device * rte_vdpa_get_rte_device (struct rte_vdpa_device * vdpa_dev)

Get the generic device from the vdpa device. she's giving you the normie version of your fancy vdpa device. πŸ¦‹

Parameters

  • vdpa_dev β€” the vdpa device pointer

Returns

generic device pointer on success, NULL on failure


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. how many queue pairs can she handle? we're about to find out. πŸ‘‘

Parameters

  • dev β€” vDP device pointer
  • queue_num β€” pointer on where the number of queue is stored

Returns

0 on success, -1 on failure


int rte_vdpa_get_features (struct rte_vdpa_device * dev, uint64_t * features)

Get the Virtio features supported by the vDPA device. flex time. πŸ’…

Parameters

  • dev β€” vDP device pointer
  • features β€” pointer on where the supported features are stored

Returns

0 on success, -1 on failure


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. yes there's a protocol features one too, and no they are not the same thing, keep up bestie. 😭

Parameters

  • dev β€” vDP device pointer
  • features β€” pointer on where the supported protocol features are stored

Returns

0 on success, -1 on failure


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.


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. numbers time, we love a stats girlie. πŸ“Šβœ¨

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.


int rte_vdpa_reset_stats (struct rte_vdpa_device * dev, uint16_t qid)

Reset statistics of a vDPA device. clean slate, new era, fresh start, we're doing a rebrand. 🌸

Parameters

  • dev β€” vDPA device pointer
  • qid β€” queue id

Returns

0 on success, a negative value on error.


⭐ Author ⭐

Generated automatically by Doxygen for DPDK from the source code. not a human, not a girlboss, just Doxygen doing its little thing. πŸ™ˆ


and that's the whole page bestie. every option, every param, every return value, every line number β€” nothing got cut, we kept the receipts. πŸ’–

this was rte_vdpa.h(3) from DPDK, Version 25.11.3 β€” mwah, go forth and vDPA responsibly. πŸŽ€πŸ¦‹βœ¨

πŸ“¦ where this page comes from