rte_pmd_dlb2.h(3)

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

πŸ’… rte_pmd_dlb2.h(3) β€” the DLB PMD-specific functions page, bestie edition

okay so this is from the Library Functions Manual and it's literally the rte_pmd_dlb2.h header β€” all the DLB PMD-specific goodies, wrapped up with a bow πŸŽ€


✨ NAME ✨

rte_pmd_dlb2.h β€” DLB PMD-specific functions. that's it, that's the vibe. short and iconic πŸ‘‘


🌸 SYNOPSIS 🌸

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

πŸ¦‹ Data Structures

  • struct rte_pmd_dlb2_port_param

πŸ“ 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. that's the whole summary, no cap.

definition lives in file rte_pmd_dlb2.h.

πŸ”₯ Macro Definition Documentation πŸ”₯

🌈 #define RTE_PMD_DLB2_GET_QID_DEPTH( x)

value:

((x)->rsvd & 0x3)

macro function that gets the QID depth out of rte_event metadata πŸ’« heads up: currently the lower 2 bits of the 'rsvd' field are the ones doing the storing, iykyk.

defined 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 that sets the QID depth of rte_event metadata ✨ and yeah, currently the lower 2 bits of the 'rsvd' field are what's holding it.

defined at line 32 of file rte_pmd_dlb2.h.

🌈 #define RTE_PMD_DLB2_GET_QE_WEIGHT( x)

value:

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

macro function that grabs the QE weight from rte_event metadata 🫢 quick note: currently the upper 2 bits of the 'rsvd' field carry the QE weight, not the lower ones β€” don't mix them up bestie.

defined 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 that sets the QE weight from rte_event metadata πŸ’– same deal: currently the upper 2 bits of 'rsvd' are the storage spot.

defined at line 44 of file rte_pmd_dlb2.h.

🌈 #define DLB2_SET_PORT_FLOW_MIGRATION_THRESHOLD RTE_BIT64(0)

sets the inflight threshold for flow migration. literally that. 🚦

defined at line 96 of file rte_pmd_dlb2.h.

🌈 #define DLB2_SET_PORT_HL RTE_BIT64(1)

sets the port history list πŸ—‚οΈ periodt.

defined 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. so like… don't get too attached 😭

this one selects the token pop mode for a DLB2 port πŸ’…

defined 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, it's giving limited edition ✨

configures the token pop mode for a DLB2 port πŸŽ€ by default, every single port uses RTE_PMD_DLB2_AUTO_POP. and listen: you must call this before calling rte_event_port_setup() for the port, but after calling rte_event_dev_configure(). order matters, bestie, no skipping steps πŸ”₯

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 as above πŸ’€

configures various port parameters 🌸 this one must be called before rte_event_port_setup() for the port, and after rte_event_dev_configure(). exact same timing rules, okay?

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. not a human, just vibes πŸ€–βœ¨


okay that's the whole page, mwah πŸ’‹ β€” this was DPDK, Version 26.03.0, and the page itself is rte_pmd_dlb2.h(3). go forth and configure ur ports responsibly, bestie πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from