.TH "rte_pmd_dlb2.h" 3 "Version 25.11.0" "DPDK" \" -*- nroff -*-
.ad l
.nh
.SH NAME
rte_pmd_dlb2.h \- DLB PMD-specific functions\&.  

.SH SYNOPSIS
.br
.PP
\fR#include <stdint\&.h>\fP
.br
\fR#include <rte_compat\&.h>\fP
.br

.SS "Data Structures"

.in +1c
.ti -1c
.RI "struct \fBrte_pmd_dlb2_port_param\fP"
.br
.in -1c
.SS "Macros"

.in +1c
.ti -1c
.RI "#define \fBRTE_PMD_DLB2_GET_QID_DEPTH\fP(x)"
.br
.ti -1c
.RI "#define \fBRTE_PMD_DLB2_SET_QID_DEPTH\fP(x,  v)"
.br
.ti -1c
.RI "#define \fBRTE_PMD_DLB2_GET_QE_WEIGHT\fP(x)"
.br
.ti -1c
.RI "#define \fBRTE_PMD_DLB2_SET_QE_WEIGHT\fP(x,  v)"
.br
.ti -1c
.RI "#define \fBDLB2_SET_PORT_FLOW_MIGRATION_THRESHOLD\fP   \fBRTE_BIT64\fP(0)"
.br
.ti -1c
.RI "#define \fBDLB2_SET_PORT_HL\fP   \fBRTE_BIT64\fP(1)"
.br
.in -1c
.SS "Enumerations"

.in +1c
.ti -1c
.RI "enum \fBrte_pmd_dlb2_token_pop_mode\fP "
.br
.in -1c
.SS "Functions"

.in +1c
.ti -1c
.RI "__rte_experimental int \fBrte_pmd_dlb2_set_token_pop_mode\fP (uint8_t dev_id, uint8_t port_id, enum \fBrte_pmd_dlb2_token_pop_mode\fP mode)"
.br
.ti -1c
.RI "__rte_experimental int \fBrte_pmd_dlb2_set_port_param\fP (uint8_t dev_id, uint8_t port_id, uint64_t flags, struct \fBrte_pmd_dlb2_port_param\fP *val)"
.br
.in -1c
.SH "Detailed Description"
.PP 
DLB PMD-specific functions\&. 


.PP
Definition in file \fBrte_pmd_dlb2\&.h\fP\&.
.SH "Macro Definition Documentation"
.PP 
.SS "#define RTE_PMD_DLB2_GET_QID_DEPTH( x)"
\fBValue:\fP
.nf
((x)\->rsvd & 0x3)
.PP
.fi
Macro function to get QID depth of \fBrte_event\fP metadata\&. Currently lower 2 bits of 'rsvd' field are used to store QID depth\&. 
.PP
Definition at line \fB26\fP of file \fBrte_pmd_dlb2\&.h\fP\&.
.SS "#define RTE_PMD_DLB2_SET_QID_DEPTH( x,  v)"
\fBValue:\fP
.nf
((x)\->rsvd = ((x)\->rsvd & ~0x3) | (v & 0x3))
.PP
.fi
Macro function to set QID depth of \fBrte_event\fP metadata\&. Currently lower 2 bits of 'rsvd' field are used to store QID depth\&. 
.PP
Definition at line \fB32\fP of file \fBrte_pmd_dlb2\&.h\fP\&.
.SS "#define RTE_PMD_DLB2_GET_QE_WEIGHT( x)"
\fBValue:\fP
.nf
(((x)\->rsvd >> 2) & 0x3)
.PP
.fi
Macro function to get QE weight from \fBrte_event\fP metadata\&. Currently upper 2 bits of 'rsvd' field are used to store QE weight\&. 
.PP
Definition at line \fB38\fP of file \fBrte_pmd_dlb2\&.h\fP\&.
.SS "#define RTE_PMD_DLB2_SET_QE_WEIGHT( x,  v)"
\fBValue:\fP
.nf
((x)\->rsvd = ((x)\->rsvd & 0x3) | ((v & 0x3) << 2))
.PP
.fi
Macro function to set QE weight from \fBrte_event\fP metadata\&. Currently upper 2 bits of 'rsvd' field are used to store QE weight\&. 
.PP
Definition at line \fB44\fP of file \fBrte_pmd_dlb2\&.h\fP\&.
.SS "#define DLB2_SET_PORT_FLOW_MIGRATION_THRESHOLD   \fBRTE_BIT64\fP(0)"
Set inflight threshold for flow migration 
.PP
Definition at line \fB96\fP of file \fBrte_pmd_dlb2\&.h\fP\&.
.SS "#define DLB2_SET_PORT_HL   \fBRTE_BIT64\fP(1)"
Set port history list 
.PP
Definition at line \fB99\fP of file \fBrte_pmd_dlb2\&.h\fP\&.
.SH "Enumeration Type Documentation"
.PP 
.SS "enum \fBrte_pmd_dlb2_token_pop_mode\fP"

.PP
\fBWarning\fP
.RS 4
\fBEXPERIMENTAL:\fP these enums may change, or be removed, without prior notice
.RE
.PP
Selects the token pop mode for a DLB2 port\&. 
.PP
Definition at line \fB52\fP of file \fBrte_pmd_dlb2\&.h\fP\&.
.SH "Function Documentation"
.PP 
.SS "__rte_experimental int rte_pmd_dlb2_set_token_pop_mode (uint8_t dev_id, uint8_t port_id, enum \fBrte_pmd_dlb2_token_pop_mode\fP mode)"

.PP
\fBWarning\fP
.RS 4
\fBEXPERIMENTAL:\fP this API may change, or be removed, without prior notice
.RE
.PP
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 \fBrte_event_port_setup()\fP for the port, but after calling \fBrte_event_dev_configure()\fP\&.

.PP
\fBParameters\fP
.RS 4
\fIdev_id\fP The identifier of the event device\&. 
.br
\fIport_id\fP The identifier of the event port\&. 
.br
\fImode\fP The token pop mode\&.
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
EINVAL: Invalid parameter dev_id, port_id, or mode
.IP "\(bu" 2
EINVAL: The DLB2 device is not configured or is already running, or the port is already setup 
.PP
.RE
.PP

.SS "__rte_experimental int rte_pmd_dlb2_set_port_param (uint8_t dev_id, uint8_t port_id, uint64_t flags, struct \fBrte_pmd_dlb2_port_param\fP * val)"

.PP
\fBWarning\fP
.RS 4
\fBEXPERIMENTAL:\fP this API may change, or be removed, without prior notice
.RE
.PP
Configure various port parameters\&. This function must be called before calling \fBrte_event_port_setup()\fP for the port, and after calling \fBrte_event_dev_configure()\fP\&.

.PP
\fBParameters\fP
.RS 4
\fIdev_id\fP The identifier of the event device\&. 
.br
\fIport_id\fP The identifier of the event port\&. 
.br
\fIflags\fP Bitmask of the parameters being set\&. 
.br
\fIval\fP Structure containing the values of parameters being set\&.
.RE
.PP
\fBReturns\fP
.RS 4
.IP "\(bu" 2
0: Success
.IP "\(bu" 2
EINVAL: Invalid dev_id, port_id, or mode
.IP "\(bu" 2
EINVAL: The DLB2 is not configured, is already running, or the port is already setup 
.PP
.RE
.PP

.SH "Author"
.PP 
Generated automatically by Doxygen for DPDK from the source code\&.
