DPDK 25.07.0
Data Structures | Macros | Enumerations | Functions
rte_pmd_dlb2.h File Reference

DLB PMD-specific functions. More...

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

Go to the source code of this file.

Data Structures

struct  rte_pmd_dlb2_port_param
 

Macros

#define RTE_PMD_DLB2_GET_QID_DEPTH(x)   ((x)->rsvd & 0x3)
 
#define RTE_PMD_DLB2_SET_QID_DEPTH(x, v)   ((x)->rsvd = ((x)->rsvd & ~0x3) | (v & 0x3))
 
#define RTE_PMD_DLB2_GET_QE_WEIGHT(x)   (((x)->rsvd >> 2) & 0x3)
 
#define RTE_PMD_DLB2_SET_QE_WEIGHT(x, v)   ((x)->rsvd = ((x)->rsvd & 0x3) | ((v & 0x3) << 2))
 
#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.

Definition in file rte_pmd_dlb2.h.

Macro Definition Documentation

◆ RTE_PMD_DLB2_GET_QID_DEPTH

#define RTE_PMD_DLB2_GET_QID_DEPTH (   x)    ((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.

Definition at line 26 of file rte_pmd_dlb2.h.

◆ RTE_PMD_DLB2_SET_QID_DEPTH

#define RTE_PMD_DLB2_SET_QID_DEPTH (   x,
 
)    ((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.

Definition at line 32 of file rte_pmd_dlb2.h.

◆ RTE_PMD_DLB2_GET_QE_WEIGHT

#define RTE_PMD_DLB2_GET_QE_WEIGHT (   x)    (((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.

Definition at line 38 of file rte_pmd_dlb2.h.

◆ RTE_PMD_DLB2_SET_QE_WEIGHT

#define RTE_PMD_DLB2_SET_QE_WEIGHT (   x,
 
)    ((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.

Definition at line 44 of file rte_pmd_dlb2.h.

◆ DLB2_SET_PORT_FLOW_MIGRATION_THRESHOLD

#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.

◆ DLB2_SET_PORT_HL

#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

◆ rte_pmd_dlb2_token_pop_mode

Warning
EXPERIMENTAL: these enums may change, or be removed, without prior notice

Selects the token pop mode for a DLB2 port.

Definition at line 52 of file rte_pmd_dlb2.h.

Function Documentation

◆ rte_pmd_dlb2_set_token_pop_mode()

__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

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().

Parameters
dev_idThe identifier of the event device.
port_idThe identifier of the event port.
modeThe 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_pmd_dlb2_set_port_param()

__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

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().

Parameters
dev_idThe identifier of the event device.
port_idThe identifier of the event port.
flagsBitmask of the parameters being set.
valStructure 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