rte_eth_hairpin_conf(3)
β¨ NAME β¨
rte_eth_hairpin_conf β bestie, this is the struct you fill in when you wanna configure hairpin binding π
(It lives in the Library Functions Manual btw, section 3, iykyk.)
π SYNOPSIS π
#include <rte_ethdev.h>
π« Data Fields π«
uint32_t peer_count:16
uint32_t tx_explicit:1
uint32_t manual_bind:1
uint32_t use_locked_device_memory:1
uint32_t use_rte_memory:1
uint32_t force_memory:1
uint32_t reserved:11
π DETAILED DESCRIPTION π
β οΈ Warning β EXPERIMENTAL: this API may change, or be removed, without prior notice π fr fr do not get attached.
A structure used to configure hairpin binding. That's the whole vibe. β¨
Definition at line 1291 of file rte_ethdev.h.
π¦ FIELD DOCUMENTATION π¦
π uint32_t peer_count
The number of peers. That's it, that's the field. π
Definition at line 1292 of file rte_ethdev.h.
πΈ uint32_t tx_explicit
Explicit Tx flow rule mode. One hairpin pair of queues should have the same attribute. (Yes, the SAME one. Don't be messy about it. π―)
- When set, the user should be responsible for inserting the hairpin Tx part flows and removing them. You're the main character here, the work is yours. π€
- When clear, the PMD will try to handle the Tx part of the flows, e.g., by splitting one flow into two parts. Let the PMD cook. π
Definition at line 1303 of file rte_ethdev.h.
π§ uint32_t manual_bind
Manually bind hairpin queues. One hairpin pair of queues should have the same attribute. (Again β same attribute, matching set, no mix-and-match diva behaviour. π )
- When set, to enable hairpin, the user should call the hairpin bind function after all the queues are set up properly and the ports are started. Also, the hairpin unbind function should be called accordingly before stopping a port that with hairpin configured. So likeβ¦ bind after setup, unbind before stopping. Order matters bestie, this is not a suggestion π«Ά
- When cleared, the PMD will try to enable the hairpin with the queues configured automatically during port start. Autopilot mode, we love her. β¨
Definition at line 1316 of file rte_ethdev.h.
π uint32_t use_locked_device_memory
Use locked device memory as a backing storage. Fancy memory, dedicated memory, her own little apartment. π
- When set, PMD will attempt place descriptors and/or data buffers in dedicated device memory.
- When cleared, PMD will use default memory type as a backing storage. Please refer to PMD documentation for details. (Go read the PMD docs, I'm not doing your homework for you π)
API user should check if PMD supports this configuration flag using
See also
rte_eth_dev_hairpin_capability_get.
Definition at line 1329 of file rte_ethdev.h.
π uint32_t use_rte_memory
Use DPDK memory as backing storage. Cozy DPDK-managed host memory vibes. π«Ά
- When set, PMD will attempt place descriptors and/or data buffers in host memory managed by DPDK.
- When cleared, PMD will use default memory type as a backing storage. Please refer to PMD documentation for details.
API user should check if PMD supports this configuration flag using
See also
rte_eth_dev_hairpin_capability_get.
Definition at line 1342 of file rte_ethdev.h.
π₯ uint32_t force_memory
Force usage of hairpin memory configuration. Committing. No take-backs. π
- When set, PMD will attempt to use specified memory settings. If resource allocation fails, then hairpin queue allocation will result in an error. It's giving "we die on this hill" β no fallback, just the error. π
- When clear, PMD will attempt to use specified memory settings. If resource allocation fails, then PMD will retry allocation with default configuration. Chill mode: try the fancy thing, shrug, try the default thing. πΈ
Definition at line 1354 of file rte_ethdev.h.
π uint32_t reserved
Reserved bits. Shhh. Do not perceive them. Not yours, not mine, leave them alone. π
Definition at line 1356 of file rte_ethdev.h.
πΈ AUTHOR πΈ
Generated automatically by Doxygen for DPDK from the source code. (Not me, I'm just the messenger bestie β¨)
And that's the whole page, periodt. π
This was DPDK, Version 25.11.3, rte_eth_hairpin_conf(3), mwah π β go bind some queues responsibly, ily, bye! π¦ππ
π¦ where this page comes from
- ubuntu resolute: dpdk-doc 25.11.3-0ubuntu0.26.04.1 Β· BSD-3-Clause
- ubuntu stonking: dpdk-doc 25.11.3-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms