EV_FALLBACK(3)

πŸ“¦ version 26.03, in nixos 26.05, nixpkgs unstable

πŸ’… NAME πŸ’…

okay so bestie, welcome to the rte_event_vector_adapter_conf page β€” it lives in the Library Functions Manual and it's literally the struct that holds your vector adapter configuration. that's the whole vibe. πŸŽ€


✨ SYNOPSIS ✨

pull it in like this, no cap:

#include <rte_event_vector_adapter.h>

🧚 Data Fields

  • uint8_t event_dev_id
  • uint32_t socket_id
  • struct rte_event ev
  • struct rte_event ev_fallback
  • uint16_t vector_sz
  • uint64_t vector_timeout_ns
  • struct rte_mempool * vector_mp

🌸 DETAILED DESCRIPTION 🌸

it's giving vector adapter configuration structure, periodt. that's it, that's the whole thing.

πŸ“ Definition at line 136 of file rte_event_vector_adapter.h. (iykyk, go look at it)

πŸ¦‹ FIELD DOCUMENTATION πŸ¦‹

🌟 uint8_t event_dev_id

the event device identifier β€” which eventdev you're talking to, basically. your main character device.

πŸ“ Definition at line 137 of file rte_event_vector_adapter.h.


🌈 uint32_t socket_id

the identifier of the socket that memory for the adapter gets allocated from. yes, that socket. pick your fave πŸ’…

πŸ“ Definition at line 139 of file rte_event_vector_adapter.h.


πŸ’œ struct rte_event ev

okay so when work gets queued, the values from these event fields are the ones that get used β€” literally these six, no extras:

  • queue_id: the targeted event queue ID for the vector event.
  • event_priority: the event priority of the vector event in the event queue, relative to other events.
  • sched_type: the scheduling type for events coming from this vector adapter.
  • event_type: the event type for the vector event.
  • sub_event_type: the sub event type for the vector event.
  • flow_id: the flow ID for the vectors that the vector adapter enqueues to the event queue.

πŸ“ Definition at line 141 of file rte_event_vector_adapter.h.


🫢 struct rte_event ev_fallback

this one is the ✨emoji✨ backup plan β€” when aggregation fails and a single event gets enqueued, these fields' values are what get used:

  • event_type: the event type for the single event.
  • sub_event_type: the sub event type for the single event.
  • flow_id: the flow ID for the single event.

and the other fields? they're taken from rte_event_vector_adapter_conf::ev. don't forget that part, bestie, it matters.

πŸ“ Definition at line 154 of file rte_event_vector_adapter.h.


πŸ”₯ uint16_t vector_sz

the maximum number of enqueued work items that get combined to form a vector. lowkey important: it should be within the vectorization limits of the adapter.

See also

  • rte_event_vector_adapter_info::min_vector_sz
  • rte_event_vector_adapter_info::max_vector_sz

πŸ“ Definition at line 164 of file rte_event_vector_adapter.h.


⭐ uint64_t vector_timeout_ns

the maximum number of nanoseconds to wait for receiving work. again, it should be within the vectorization limits of the adapter β€” don't go rogue.

See also

  • rte_event_vector_adapter_info::min_vector_ns
  • rte_event_vector_adapter_info::max_vector_ns

πŸ“ Definition at line 171 of file rte_event_vector_adapter.h.


πŸ“ struct rte_mempool* vector_mp

the mempool that should be used for allocating the rte_event_vector container. that's the one. πŸ‘‘

See also

  • rte_event_vector_pool_create

πŸ“ Definition at line 178 of file rte_event_vector_adapter.h.


πŸ‘‘ AUTHOR πŸ‘‘

generated automatically by Doxygen for DPDK, straight from the source code. not a human, not a vibe, just Doxygen doing its thing.


okay that's the whole page, bestie, you ate that 🫢 this was DPDK, Version 26.03.0, and the page is rte_event_...dapter_conf(3) β€” go forth and configure those vector adapters, mwah πŸ’‹πŸŒΈ

πŸ“¦ where this page comes from