/** 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;
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.
*/
/** 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;