RTE_SWX_PIPELINE_LEARNER_PARAMS(3)

πŸ’– rte_swx_pipeline_learner_params β€” Library Functions Manual, section 3

okay bestie, sit down, hydrate, and let's talk about rte_swx_pipeline_learner_params 🧚✨ this is the struct that holds all the params for a pipeline learner table, and she's giving very much "I configure your match-action lookup and I take zero notes" energy. section 3, library functions manual, we love a documented struct. πŸ’…


✨ NAME ✨

rte_swx_pipeline_learner_params β€” the parameters of a pipeline learner table. no cap, that's the whole name. πŸ’–


🌸 SYNOPSIS 🌸

#include <rte_swx_pipeline.h>

πŸŽ€ Data Fields πŸŽ€

const char ** field_names
uint32_t n_fields
const char ** action_names
int * action_is_for_table_entries
int * action_is_for_default_entry
uint32_t n_actions
const char * default_action_name
const char * default_action_args
int default_action_is_const
const char * hash_func_name

πŸ¦‹ Detailed Description πŸ¦‹

Pipeline learner table parameters. that's it, that's the whole vibe. she's the blueprint the pipeline reads when it's setting up a learner table, and she's lowkey carrying the entire configuration on her back. πŸ’ͺ

πŸ“ Definition at line 803 of file rte_swx_pipeline.h.

πŸ‘‘ Field Documentation πŸ‘‘

🌈 const char** field_names

The set of match fields for the current table. 🎯

Restriction, and this one is fr fr important: all the match fields of the current table need to be part of the same struct. so either all the match fields are part of the same header, or all the match fields are part of the meta-data. you cannot mix and match, bestie, that's not the move. πŸ™…β€β™€οΈ

πŸ“ Definition at line 809 of file rte_swx_pipeline.h.

🌸 uint32_t n_fields

The number of match fields for the current table. must be non-zero β€” zero is not it, she needs at least one field to match on. ⭐

πŸ“ Definition at line 813 of file rte_swx_pipeline.h.

πŸ’œ const char** action_names

The set of actions for the current table. the whole menu, the full roster, the girlies who can get picked. πŸ’…

πŸ“ Definition at line 816 of file rte_swx_pipeline.h.

πŸ“ int* action_is_for_table_entries

Array of n_actions flags. for each action, the associated flag says whether that action can be assigned to regular table entries, when the flag is non-zero (aka true), or not, when it's zero (aka false). πŸ™ˆ

and here's the cuuute part: when it's set to NULL, it defaults to true for all actions. so if you don't care, don't set it, and everyone's invited. 🫢

πŸ“ Definition at line 823 of file rte_swx_pipeline.h.

πŸŽ€ int* action_is_for_default_entry

Array of n_actions flags. for each action, the associated flag says whether that action can be assigned to the default table entry, when it's non-zero (true), or not, when it's zero (false). ✨

also defaults to true for all actions when set to NULL. same energy, different entry type. 😌

πŸ“ Definition at line 830 of file rte_swx_pipeline.h.

🌟 uint32_t n_actions

The number of actions for the current table. must be at least one. an action list with nobody in it? not on her watch. πŸ’€

πŸ“ Definition at line 834 of file rte_swx_pipeline.h.

πŸ’– const char* default_action_name

The default table action that gets executed on lookup miss. πŸ•΅οΈβ€β™€οΈ and, key detail: it must be one of the table actions included in the action_names. no outside guests, only roster members. 🎟️

πŸ“ Definition at line 839 of file rte_swx_pipeline.h.

🌈 const char* default_action_args

Default action arguments. it's specified as a string with the format "ARG0_NAME ARG0_VALUE ...". πŸ“

two rules, bestie, and they're strict:

  • the number of arguments in this string must match exactly the number of arguments of the default action. exact, like, exactly exact. πŸ”
  • it must be NULL if the default action does not have any arguments.
πŸ“ Definition at line 846 of file rte_swx_pipeline.h.

⭐ int default_action_is_const

If non-zero (true), then the default action of the current table cannot be changed. πŸ”’ If zero (false), then the default action can be changed in the future with another action from the action_names list. πŸ”“ so like, is she locked in or is she flexible? your call.

πŸ“ Definition at line 853 of file rte_swx_pipeline.h.

🧚 const char* hash_func_name

Hash function name. when it's not set to NULL, it must point to one of the hash functions that were registered for the current pipeline. πŸ‘€ when it is NULL, the default hash function will be used. easy, cozy, no decisions required. πŸ’…

πŸ“ Definition at line 859 of file rte_swx_pipeline.h.

🫢 Author 🫢

Generated automatically by Doxygen for DPDK from the source code. she didn't write herself, she was written for you. 😭✨


and that's the whole page, bestie, we ate and left no crumbs πŸ½οΈπŸ’– this was DPDK, Version 25.11.3, section 3 of the Library Functions Manual, titled rte_swx_pi...rner_params(3) because apparently even the manpage header was too iconic to spell out the full name. slay. πŸ‘‘πŸŒˆ

πŸ“¦ where this page comes from