X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Fpipeline%2Frte_swx_pipeline.h;h=77141bd3415bfd39250dc6463e3c56d3441d51cc;hb=7786991fae06bc1488dcdfde244910d7920207e9;hp=2f18a820b9b5d77773011fa71248c0a4e598448b;hpb=4f59d3726147e7cf0ff98931b2512687727838ad;p=dpdk.git diff --git a/lib/pipeline/rte_swx_pipeline.h b/lib/pipeline/rte_swx_pipeline.h index 2f18a820b9..77141bd341 100644 --- a/lib/pipeline/rte_swx_pipeline.h +++ b/lib/pipeline/rte_swx_pipeline.h @@ -567,6 +567,20 @@ struct rte_swx_pipeline_table_params { /** The set of actions for the current table. */ const char **action_names; + /** Array of *n_actions* flags. For each action, the associated flag + * indicates whether the action can be assigned to regular table entries + * (when non-zero, i.e. true) or not (when zero, i.e. false). When set + * to NULL, it defaults to true for all actions. + */ + int *action_is_for_table_entries; + + /** Array of *n_actions* flags. For each action, the associated flag + * indicates whether the action can be assigned to the default table + * entry (when non-zero, i.e. true) or not (when zero, i.e. false). + * When set to NULL, it defaults to true for all actions. + */ + int *action_is_for_default_entry; + /** The number of actions for the current table. Must be at least one. */ uint32_t n_actions; @@ -633,7 +647,7 @@ struct rte_swx_pipeline_selector_params { const char *group_id_field_name; /** The set of fields used to select (through a hashing scheme) the - * member within the current group. Inputs into the seletion operation. + * member within the current group. Inputs into the selection operation. * Restriction: All the selector fields must be part of the same struct, * i.e. part of the same header or part of the meta-data structure. */ @@ -692,19 +706,23 @@ struct rte_swx_pipeline_learner_params { /** The set of actions for the current table. */ const char **action_names; - /** The number of actions for the current table. Must be at least one. + /** Array of *n_actions* flags. For each action, the associated flag + * indicates whether the action can be assigned to regular table entries + * (when non-zero, i.e. true) or not (when zero, i.e. false). When set + * to NULL, it defaults to true for all actions. */ - uint32_t n_actions; + int *action_is_for_table_entries; - /** This table type allows adding the latest lookup key (typically done - * only in the case of lookup miss) to the table with a given action. - * The action arguments are picked up from the packet meta-data: for - * each action, a set of successive meta-data fields (with the name of - * the first such field provided here) is 1:1 mapped to the action - * arguments. These meta-data fields must be set with the actual values - * of the action arguments before the key add operation. + /** Array of *n_actions* flags. For each action, the associated flag + * indicates whether the action can be assigned to the default table + * entry (when non-zero, i.e. true) or not (when zero, i.e. false). + * When set to NULL, it defaults to true for all actions. */ - const char **action_field_names; + int *action_is_for_default_entry; + + /** The number of actions for the current table. Must be at least one. + */ + uint32_t n_actions; /** The default table action that gets executed on lookup miss. Must be * one of the table actions included in the *action_names*.