rte_event(3)
π¦ NAME π¦
okay so bestie, today we're learning about rte_event β she's a Library Functions Manual girlie, and literally the whole page is about one iconic little struct π
β¨ SYNOPSIS β¨
#include <rte_eventdev.h>
π Detailed Description π
So rte_event is the generic struct β the main character β that holds all the event attributes you need for a dequeue and enqueue operation. That's it, that's her job π«Ά
Definition at line 1676 of file rte_eventdev.h.
π Field Documentation π
πΈ uint32_t flow_id πΈ
This is the target flow identifier for the enqueue and dequeue operation, periodt.
For RTE_SCHED_TYPE_ATOMIC, this field is what identifies a flow for atomicity within a queue & priority level β so events from each individual flow only ever get scheduled to one port at a time. no cap, very orderly π
This field is preserved between enqueue and dequeue when a device reports the RTE_EVENT_DEV_CAP_CARRY_FLOW_ID capability. Otherwise? The value is implementation dependent on dequeue π
Definition at line 1682 of file rte_eventdev.h.
π uint32_t sub_event_type π
Sub-event types, based on the event source, bestie.
This field is preserved between enqueue and dequeue β¨
See also: RTE_EVENT_TYPE_CPU
Definition at line 1694 of file rte_eventdev.h.
β uint32_t event_type β
Event type to classify the event source β it's a RTE_EVENT_TYPE_* situation.
This field is preserved between enqueue and dequeue π
Definition at line 1701 of file rte_eventdev.h.
π uint8_t op π
The type of event enqueue operation β new/forward/etc.
Okay so heads up π this field is not preserved across an instance, and it's implementation dependent on dequeue.
See also: RTE_EVENT_OP_NEW, RTE_EVENT_OP_FORWARD, RTE_EVENT_OP_RELEASE
Definition at line 1706 of file rte_eventdev.h.
π§ uint8_t rsvd π§
Reserved for future use, iykyk.
You should set it to zero when initializing event structures βοΈ
But when you're forwarding or releasing existing events that you dequeued from the scheduler, this field can just be ignored. she's just vibing π
Definition at line 1716 of file rte_eventdev.h.
π₯ uint8_t sched_type π₯
The scheduler synchronization type (RTE_SCHED_TYPE_*) associated with flow_id on a given event queue, for the enqueue and dequeue operation.
This field is what determines the scheduling type for events sent to queues where RTE_EVENT_QUEUE_CFG_ALL_TYPES is configured. For queues where only a single scheduling type is available, this field must be set to match the configured scheduling type β no wiggle room, bestie π¨
This field is preserved between enqueue and dequeue β¨
See also: RTE_SCHED_TYPE_ORDERED, RTE_SCHED_TYPE_ATOMIC, RTE_SCHED_TYPE_PARALLEL
Definition at line 1724 of file rte_eventdev.h.
π uint8_t queue_id π
The targeted event queue identifier for the enqueue or dequeue operation. The value must be less than nb_event_queues, which was previously supplied to rte_event_dev_configure().
This field is preserved between enqueue on dequeue π
Definition at line 1741 of file rte_eventdev.h.
π uint8_t priority π
Event priority relative to other events in the event queue. The requested priority should be in the range of [RTE_EVENT_DEV_PRIORITY_HIGHEST, RTE_EVENT_DEV_PRIORITY_LOWEST].
The implementation shall normalize the requested priority to a supported priority value. [For devices where the supported priority range is a power-of-2, the normalization will be done via bit-shifting, so only the highest log2(num_priorities) bits will be used by the event device]
This one's valid when the device has the RTE_EVENT_DEV_CAP_EVENT_QOS capability, and this field is preserved between enqueue and dequeue β though with possible loss of precision due to normalization and subsequent de-normalization. (For example, if a device only supports 8 priority levels, only the high 3 bits of this field will be used by that device, and hence only the value of those 3 bits are guaranteed to be preserved between enqueue and dequeue.) π math is mathing
It's ignored when the device does not support the RTE_EVENT_DEV_CAP_EVENT_QOS capability, and it's implementation dependent whether this field is preserved between enqueue and dequeue π
Definition at line 1749 of file rte_eventdev.h.
π uint8_t impl_opaque π
An opaque field for event device use.
An event driver implementation may use this field to hold an implementation-specific value to share between dequeue and enqueue operation.
The application must not modify this field π¨ Its value is implementation dependent on dequeue, and it must be returned unmodified on enqueue when the op type is RTE_EVENT_OP_FORWARD or RTE_EVENT_OP_RELEASE. This field is ignored on events with op type RTE_EVENT_OP_NEW.
Definition at line 1773 of file rte_eventdev.h.
π uint64_t u64 π
Opaque 64-bit value π
Definition at line 1791 of file rte_eventdev.h.
π«Ά void* event_ptr π«Ά
Opaque event pointer β¨
Definition at line 1793 of file rte_eventdev.h.
π struct rte_mbuf* mbuf π
mbuf pointer β for when the dequeued event is associated with an mbuf π¦
Definition at line 1795 of file rte_eventdev.h.
π struct rte_event_vector* vec π
Event vector pointer, bestie β
Definition at line 1797 of file rte_eventdev.h.
π Author π
Generated automatically by Doxygen for DPDK from the source code. not a human wrote this one, the robots ate π«Ά
and that's the whole page!! π this was Version 26.03.0 of DPDK, dated rte_event(3), and yeah β the docs literally auto-generated themselves, we love a self-sufficient queen πβ¨ see u next time bestie!! π
π¦ where this page comes from
- nixos 26.05: dpdk 26.03
- nixpkgs unstable: dpdk 26.03
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms