DPDK  24.11.0-rc3
Functions
rte_pmd_dpaa2.h File Reference
#include <rte_compat.h>
#include <rte_flow.h>

Go to the source code of this file.

Functions

int rte_pmd_dpaa2_mux_flow_create (uint32_t dpdmux_id, struct rte_flow_item pattern[], struct rte_flow_action actions[])
 
__rte_experimental void rte_pmd_dpaa2_mux_dump_counter (FILE *f, uint32_t dpdmux_id, int num_if)
 
__rte_experimental int rte_pmd_dpaa2_mux_rx_frame_len (uint32_t dpdmux_id, uint16_t max_rx_frame_len)
 
int rte_pmd_dpaa2_set_custom_hash (uint16_t port_id, uint16_t offset, uint8_t size)
 
__rte_experimental void rte_pmd_dpaa2_thread_init (void)
 
__rte_experimental uint32_t rte_pmd_dpaa2_get_tlu_hash (uint8_t *key, int size)
 

Detailed Description

NXP dpaa2 PMD specific functions.

Definition in file rte_pmd_dpaa2.h.

Function Documentation

◆ rte_pmd_dpaa2_mux_flow_create()

int rte_pmd_dpaa2_mux_flow_create ( uint32_t  dpdmux_id,
struct rte_flow_item  pattern[],
struct rte_flow_action  actions[] 
)

Create a flow rule to demultiplex ethernet traffic to separate network interfaces.

Parameters
dpdmux_idID of the DPDMUX MC object.
[in]patternPattern specification.
[in]actionsAssociated actions.
Returns
0 in case of success, otherwise failure.

◆ rte_pmd_dpaa2_mux_dump_counter()

__rte_experimental void rte_pmd_dpaa2_mux_dump_counter ( FILE *  f,
uint32_t  dpdmux_id,
int  num_if 
)
Warning
EXPERIMENTAL: this API may change, or be removed, without prior notice

Dump demultiplex ethernet traffic counters

Parameters
foutput stream
dpdmux_idID of the DPDMUX MC object.
num_ifnumber of interface in dpdmux object

◆ rte_pmd_dpaa2_mux_rx_frame_len()

__rte_experimental int rte_pmd_dpaa2_mux_rx_frame_len ( uint32_t  dpdmux_id,
uint16_t  max_rx_frame_len 
)
Warning
EXPERIMENTAL: this API may change, or be removed, without prior notice

demultiplex interface max rx frame length configure

Parameters
dpdmux_idID of the DPDMUX MC object.
max_rx_frame_lenmaximum receive frame length (will be checked to be minimux of all dpnis)

◆ rte_pmd_dpaa2_set_custom_hash()

int rte_pmd_dpaa2_set_custom_hash ( uint16_t  port_id,
uint16_t  offset,
uint8_t  size 
)

Create a custom hash key on basis of offset of start of packet and size. for e.g. if we need GRE packets (non-vlan and without any extra headers) to be hashed on basis of inner IP header, we will provide offset as: 14 (eth) + 20 (IP) + 4 (GRE) + 12 (Inner Src offset) = 50 and size as 8 bytes.

Parameters
port_idThe port identifier of the Ethernet device.
offsetOffset from the start of packet which needs to be included to calculate hash
sizeSize of the hash input key
Returns
  • 0 if successful.
  • Negative in case of failure.

◆ rte_pmd_dpaa2_thread_init()

__rte_experimental void rte_pmd_dpaa2_thread_init ( void  )
Warning
EXPERIMENTAL: this API may change, or be removed, without prior notice

Do thread specific initialization

◆ rte_pmd_dpaa2_get_tlu_hash()

__rte_experimental uint32_t rte_pmd_dpaa2_get_tlu_hash ( uint8_t *  key,
int  size 
)
Warning
EXPERIMENTAL: this API may change, or be removed, without prior notice

Generate the DPAA2 WRIOP based hash value

Parameters
keyArray of key data
sizeSize of the hash input key in bytes
Returns
  • 0 if successful.
  • Negative in case of failure.