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