rte_pmd_dpaa2.h(3)

๐Ÿ’– rte_pmd_dpaa2.h (3) ๐Ÿ’–

okay so bestie, this is a page from the Library Functions Manual and it's literally all about the NXP dpaa2 PMD specific functions. strap in, it's giving very niche but very iconic ๐Ÿฆ‹


๐ŸŒธ NAME ๐ŸŒธ

rte_pmd_dpaa2.h


โœจ SYNOPSIS โœจ

#include <rte_compat.h>
#include <rte_flow.h>

๐ŸŽ€ 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. that's the whole vibe. ๐Ÿ’…

Definition in file rte_pmd_dpaa2.h.


๐Ÿ’œ FUNCTION DOCUMENTATION ๐Ÿ’œ

๐ŸŒŸ 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. yes queen, split that traffic up โœจ

Parameters

  • dpdmux_id โ€” ID of the DPDMUX MC object.
  • pattern โ€” Pattern specification.
  • actions โ€” Associated actions.

Returns

0 in case of success, otherwise failure.


๐ŸŒŸ __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. numbers go brrr ๐Ÿ“Š

Parameters

  • f โ€” output stream
  • dpdmux_id โ€” ID of the DPDMUX MC object.
  • num_if โ€” number of interface in dpdmux object

๐ŸŒŸ __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. setting the limit fr fr ๐Ÿ“

Parameters

  • dpdmux_id โ€” ID of the DPDMUX MC object.
  • max_rx_frame_len โ€” maximum receive frame length (will be checked to be minimux of all dpnis)

๐ŸŒŸ 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. the math is mathing ๐Ÿงฎโœจ

Parameters

  • port_id โ€” The port identifier of the Ethernet device.
  • offset โ€” Offset from the start of packet which needs to be included to calculate hash
  • size โ€” Size of the hash input key

Returns

  • 0 if successful.
  • Negative in case of failure.

๐ŸŒŸ __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. gotta set up your thread, periodt ๐Ÿงต


๐ŸŒŸ __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

  • key โ€” Array of key data
  • size โ€” Size of the hash input key in bytes

Returns

  • 0 if successful.
  • Negative in case of failure.

๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

Generated automatically by Doxygen for DPDK from the source code. not me being written by a robot ๐Ÿ™ˆ


and that's the whole page bestie, no cap ๐Ÿซถ it's DPDK Version 25.11.3 energy all the way through, and yes, this adorable little header file documentation is exactly what you came here for. slay, go write some flow rules ๐Ÿ’–โœจ๐ŸŽ€

๐Ÿ“ฆ where this page comes from