rte_swx_table_entry(3)

πŸ’– NAME πŸ’–

rte_swx_table_entry β€” bestie, this is a page from the Library Functions Manual, and it's all about one lil struct: a table entry. Slay. ✨


✨ SYNOPSIS ✨

#include <rte_swx_table.h>

πŸ¦‹ Public Member Functions πŸ¦‹

  • RTE_TAILQ_ENTRY (rte_swx_table_entry) node β€” the linked-list glue, more on her below 🫢

πŸŽ€ Data Fields πŸŽ€

  • uint8_t * key
  • uint8_t * key_mask
  • uint64_t key_signature
  • uint32_t key_priority
  • uint64_t action_id
  • uint8_t * action_data

πŸ“– Detailed Description πŸ“–

Table entry. That's the whole vibe. πŸ’…

Definition at line 72 of file rte_swx_table.h.


🌸 Member Function Documentation 🌸

RTE_TAILQ_ENTRY (rte_swx_table_entry )

Used to facilitate the membership of this table entry to a linked list. So basically it's the little hand-holding node that lets your entry hang out with all the other entries. No cap. πŸ¦‹


πŸ’… Field Documentation πŸ’…

uint8_t* key

Key value for the current entry. This one's an array of key_size bytes β€” or NULL if the key_size for the current table is 0. Iconic behavior, honestly. ✨

Definition at line 81 of file rte_swx_table.h.

uint8_t* key_mask

Key mask for the current entry. Array of key_size bytes that gets logically and'ed with key_mask0 of the current table. A NULL value means that all the key bits already enabled by key_mask0 are part of the key of the current entry. So like, NULL = "all of it, bestie, don't even worry about it" 🌸

Definition at line 88 of file rte_swx_table.h.

uint64_t key_signature

Placeholder for a possible compressed version of the key and key_mask of the current entry. Typically a hash signature, its main purpose is to the linked list search operation. Should be ignored by the API functions below.

okay so heads up πŸ™ˆ the source page literally drops the verb there β€” "its main purpose is to the linked list search operation" β€” and we are keeping it character faithful instead of guessing what verb ghosted us. Regardless: the API functions below ignore this field, so don't build your entire personality on it.

Definition at line 95 of file rte_swx_table.h.

uint32_t key_priority

Key priority for the current entry. Ngl this one is situational:

  • Useful for wildcard match (as match rules are commonly overlapping with other rules). πŸ‘‘
  • Ignored for exact match (as match rules never overlap, hence all rules have the same match priority).
  • Ignored for LPM (match priority is driven by the prefix length, with non-overlapping prefixes essentially having the same match priority).

Value 0 indicates the highest match priority. Zero = main character energy. Periodt. πŸ”₯

Definition at line 104 of file rte_swx_table.h.

uint64_t action_id

Action ID for the current entry. Short, sweet, does exactly what it says. πŸŽ€

Definition at line 107 of file rte_swx_table.h.

uint8_t* action_data

Action data for the current entry. Let's get specific, bestie: considering S as the action data size of the action_id action, which must be less than or equal to the table action_data_size, the action_data field must point to an array of S bytes when S is non-zero. The action_data field is ignored when S is zero. Math is math πŸ’…

Definition at line 115 of file rte_swx_table.h.


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for DPDK from the source code. Not a human, just a robot being iconic on main. πŸ€–βœ¨


That's the whole page, babes β€” straight outta the DPDK, Version 25.11.3 docs, rte_swx_table_entry(3). Go forth and populate your tables πŸ’–πŸ¦‹πŸŽ€

πŸ“¦ where this page comes from