rte_pmd_dlb2.h(3)

πŸ“¦
version 25.11.3 Β· 4 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– rte_pmd_dlb2.h β€” DLB PMD-specific functions πŸ’–

okay so bestie, this is rte_pmd_dlb2.h, and it lives in section 3 of the manual β€” that's the Library Functions Manual, the place where all the C library calls hang out. It's a DPDK header, it's giving very much "DLB PMD-specific functions," and honestly? It's kinda iconic. Let's get into it. ✨


🌸 NAME 🌸

rte_pmd_dlb2.h β€” DLB PMD-specific functions. that's it, that's the whole vibe. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <stdint.h>
#include <rte_compat.h>

πŸŽ€ Data Structures πŸŽ€

  • struct rte_pmd_dlb2_port_param β€” yeah she's the struct holding your port params

πŸ“ Macros πŸ“

  • #define RTE_PMD_DLB2_GET_QID_DEPTH(x)
  • #define RTE_PMD_DLB2_SET_QID_DEPTH(x, v)
  • #define RTE_PMD_DLB2_GET_QE_WEIGHT(x)
  • #define RTE_PMD_DLB2_SET_QE_WEIGHT(x, v)
  • #define DLB2_SET_PORT_FLOW_MIGRATION_THRESHOLD RTE_BIT64(0)
  • #define DLB2_SET_PORT_HL RTE_BIT64(1)

🧚 Enumerations 🧚

  • enum rte_pmd_dlb2_token_pop_mode

πŸ‘‘ Functions πŸ‘‘

__rte_experimental int rte_pmd_dlb2_set_token_pop_mode (uint8_t dev_id,
    uint8_t port_id, enum rte_pmd_dlb2_token_pop_mode mode)
__rte_experimental int rte_pmd_dlb2_set_port_param (uint8_t dev_id,
    uint8_t port_id, uint64_t flags, struct rte_pmd_dlb2_port_param *val)

πŸ’œ Detailed Description πŸ’œ

DLB PMD-specific functions. fr fr, that's the whole summary.

Definition in file rte_pmd_dlb2.h.


🌈 Macro Definition Documentation 🌈

πŸ’– #define RTE_PMD_DLB2_GET_QID_DEPTH(x) πŸ’–

Value:

((x)->rsvd & 0x3)

Macro function to get QID depth of rte_event metadata. Currently lower 2 bits of 'rsvd' field are used to store QID depth. bestie your QID depth is literally just chillin' in the bottom two bits. πŸ’…

Definition at line 26 of file rte_pmd_dlb2.h.


πŸ’– #define RTE_PMD_DLB2_SET_QID_DEPTH(x, v) πŸ’–

Value:

((x)->rsvd = ((x)->rsvd & ~0x3) | (v & 0x3))

Macro function to set QID depth of rte_event metadata. Currently lower 2 bits of 'rsvd' field are used to store QID depth. note the way it clears ~0x3 and then ORs in your value β€” she's not overwriting anything else, she's respectful like that. ✨

Definition at line 32 of file rte_pmd_dlb2.h.


πŸ’– #define RTE_PMD_DLB2_GET_QE_WEIGHT(x) πŸ’–

Value:

(((x)->rsvd >> 2) & 0x3)

Macro function to get QE weight from rte_event metadata. Currently upper 2 bits of 'rsvd' field are used to store QE weight. see how we shifted right by 2? that's her grabbing the upper bits, no cap.

Definition at line 38 of file rte_pmd_dlb2.h.


πŸ’– #define RTE_PMD_DLB2_SET_QE_WEIGHT(x, v) πŸ’–

Value:

((x)->rsvd = ((x)->rsvd & 0x3) | ((v & 0x3) << 2))

Macro function to set QE weight from rte_event metadata. Currently upper 2 bits of 'rsvd' field are used to store QE weight. yes bestie she keeps the lower bits intact (& 0x3) and shifts your new value up into position << 2. queen behavior. πŸ‘‘

Definition at line 44 of file rte_pmd_dlb2.h.


πŸ’– #define DLB2_SET_PORT_FLOW_MIGRATION_THRESHOLD RTE_BIT64(0) πŸ’–

Set inflight threshold for flow migration. πŸ¦‹

Definition at line 96 of file rte_pmd_dlb2.h.


πŸ’– #define DLB2_SET_PORT_HL RTE_BIT64(1) πŸ’–

Set port history list. πŸ“œβœ¨

Definition at line 99 of file rte_pmd_dlb2.h.


πŸ¦‹ Enumeration Type Documentation πŸ¦‹

πŸ’« enum rte_pmd_dlb2_token_pop_mode πŸ’«

⚠️ Warning: EXPERIMENTAL: these enums may change, or be removed, without prior notice. yeah bestie she is not stable, do not build your whole personality on her. 😭

Selects the token pop mode for a DLB2 port.

Definition at line 52 of file rte_pmd_dlb2.h.


πŸ”₯ Function Documentation πŸ”₯

πŸ’… __rte_experimental int rte_pmd_dlb2_set_token_pop_mode (uint8_t dev_id, uint8_t port_id, enum rte_pmd_dlb2_token_pop_mode mode) πŸ’…

⚠️ Warning: EXPERIMENTAL: this API may change, or be removed, without prior notice. fr fr, experimental means she could ghost you. πŸ’€

Configure the token pop mode for a DLB2 port. By default, all ports use RTE_PMD_DLB2_AUTO_POP. This function must be called before calling rte_event_port_setup() for the port, but after calling rte_event_dev_configure(). ok so the order matters bestie β€” configure the device first, then this, then set up the port. don't be out here doing it backwards. πŸ™ˆ

Parameters

  • dev_id β€” The identifier of the event device.
  • port_id β€” The identifier of the event port.
  • mode β€” The token pop mode.

Returns

  • 0: Success ✨
  • EINVAL: Invalid parameter dev_id, port_id, or mode
  • EINVAL: The DLB2 device is not configured or is already running, or the port is already setup

πŸ’… __rte_experimental int rte_pmd_dlb2_set_port_param (uint8_t dev_id, uint8_t port_id, uint64_t flags, struct rte_pmd_dlb2_port_param *val) πŸ’…

⚠️ Warning: EXPERIMENTAL: this API may change, or be removed, without prior notice. same energy, she's not locked in yet. 🫢

Configure various port parameters. This function must be called before calling rte_event_port_setup() for the port, and after calling rte_event_dev_configure(). same rules as before β€” device configured first, port setup after, no skipping steps. πŸŽ€

Parameters

  • dev_id β€” The identifier of the event device.
  • port_id β€” The identifier of the event port.
  • flags β€” Bitmask of the parameters being set.
  • val β€” Structure containing the values of parameters being set.

Returns

  • 0: Success ✨
  • EINVAL: Invalid dev_id, port_id, or mode
  • EINVAL: The DLB2 is not configured, is already running, or the port is already setup

🌸 Author 🌸

Generated automatically by Doxygen for DPDK from the source code. no human wrote this bestie, the machine did it. πŸ€–πŸ’–


aaand that's the whole page! πŸŽ‰ this was generated straight from the DPDK source for DPDK Version 25.11.3, and you just finished reading rte_pmd_dlb2.h(3) β€” mwah, slay, go configure ur ports. πŸ’œπŸŒ·β­

πŸ“¦ where this page comes from