RX_QUEUE_FLAGS(3)

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

πŸ’… NAME

rte_event_eth_rx_adapter_queue_conf β€” bestie, this is the Rx queue configuration structure, and it's kind of the whole personality of this manpage ✨

(Oh and hey, this page lives in section 3 of the library functions manual, iykyk 🫢)


🌸 SYNOPSIS

#include <rte_event_eth_rx_adapter.h>

πŸŽ€ Data Fields

uint32_t rx_queue_flags
uint16_t servicing_weight
struct rte_event ev
uint16_t vector_sz
uint64_t vector_timeout_ns
struct rte_mempool * vector_mp
uint16_t event_buf_size

✨ Detailed Description

It's giving "Rx queue configuration structure" πŸ’– That's the whole vibe. Literally what it is.

The definition lives at line 158 of the file rte_event_eth_rx_adapter.h. No cap.

πŸ”₯ Field Documentation

🌈 uint32_t rx_queue_flags

These are the flags for handling received packets 🫢

See also: RTE_EVENT_ETH_RX_ADAPTER_QUEUE_FLOW_ID_VALID

Defined at line 159 of rte_event_eth_rx_adapter.h.

⭐ uint16_t servicing_weight

Okay so this one is the relative polling frequency of the ethernet receive queue β€” but only when the adapter is using a service core function for ethernet-to-event-device transfers. Like, that's the context, periodt.

And here's the plot twist 🫣 if you set it to zero, the Rx queue becomes interrupt driven β€” unless, of course, Rx queue interrupts are not enabled for the ethernet device. Yikes, read the fine print babe.

Defined at line 163 of rte_event_eth_rx_adapter.h.

πŸ’œ struct rte_event ev

The values from the following event fields get used when queuing mbuf events β€” main character fields only, let's go:

  • event_queue_id: the targeted event queue ID for received packets. πŸ“¬
  • event_priority: the event priority of packets from this Rx queue, in the event queue, relative to other events. πŸ†
  • sched_type: the scheduling type for packets from this Rx queue. πŸ—“οΈ
  • flow_id: if the RTE_ETH_RX_EVENT_ADAPTER_QUEUE_FLOW_ID_VALID bit is set in rx_queue_flags, then this flow_id gets used for all packets received from this queue. Otherwise the flow ID is set to the RSS hash of the src and dst IPv4/6 addresses. 🧬

And a lil detail that matters: the event adapter sets ev.event_type to RTE_EVENT_TYPE_ETHDEV in the enqueued event. Slay. ✨

Defined at line 170 of rte_event_eth_rx_adapter.h.

πŸ¦‹ uint16_t vector_sz

This one indicates the maximum number of mbufs to combine and form a vector. Should be within…

…and the original text just ends there 😭 "Should be within" β€” that's it, that's the sentence, we're all just living with it.

See also:

  • rte_event_eth_rx_adapter_vector_limits::min_vector_sz
  • rte_event_eth_rx_adapter_vector_limits::max_vector_sz β€” valid when the RTE_EVENT_ETH_RX_ADAPTER_QUEUE_EVENT_VECTOR flag is set in rte_event_eth_rx_adapter_queue_conf::rx_queue_flags
Defined at line 187 of rte_event_eth_rx_adapter.h.

🧚 uint64_t vector_timeout_ns

Indicates the maximum number of nanoseconds to wait for receiving mbufs ⏳ Should be within the vectorization limits of the adapter.

See also:

  • rte_event_eth_rx_adapter_vector_limits::min_vector_ns
  • rte_event_eth_rx_adapter_vector_limits::max_vector_ns β€” valid when the RTE_EVENT_ETH_RX_ADAPTER_QUEUE_EVENT_VECTOR flag is set in rte_event_eth_rx_adapter_queue_conf::rx_queue_flags
Defined at line 196 of rte_event_eth_rx_adapter.h.

πŸ“ struct rte_mempool* vector_mp

Indicates the mempool that should be used for allocating the rte_event_vector container πŸ’… It should be created by using rte_event_vector_pool_create. Valid when the RTE_EVENT_ETH_RX_ADAPTER_QUEUE_EVENT_VECTOR flag is set in…

See also: rte_event_eth_rx_adapter_queue_conf::rx_queue_flags.

Defined at line 206 of rte_event_eth_rx_adapter.h.

πŸ‘‘ uint16_t event_buf_size

event buffer size for this queue. That's it. Short queen behavior. πŸŽ€

Defined at line 214 of rte_event_eth_rx_adapter.h.

πŸ™ˆ Author

Generated automatically by Doxygen for DPDK from the source code. Like, not even a human wrote this one β€” the robot did it and honestly? It ate. πŸ’€


okay that's the whole page bestie, ily, go configure ur Rx queues responsibly πŸŒˆπŸ’–βœ¨

β€” signed off with love from DPDK, Version 26.03.0 πŸ«ΆπŸŽ€

πŸ“¦ where this page comes from