[RFC] ethdev: jump to table support

Stephen Hemminger stephen at networkplumber.org
Fri Aug 23 01:09:53 CEST 2024


On Thu, 22 Aug 2024 23:27:53 +0300
Alexander Kozyrev <akozyrev at nvidia.com> wrote:

> +/**
> + * @warning
> + * @b EXPERIMENTAL: this API may change without prior notice.
> + *
> + * Enqueue rule creation operation.
> + *
> + * @param port_id
> + *   Port identifier of Ethernet device.
> + * @param queue_id
> + *   Flow queue used to insert the rule.
> + * @param[in] op_attr
> + *   Rule creation operation attributes.
> + * @param[in] template_table
> + *   Template table to select templates from.
> + * @param[in] rule_index
> + *   Rule index in the table.
> + *   Inserting a rule to already occupied index results in undefined behavior.
> + * @param[in] pattern
> + *   List of pattern items to be used.
> + *   The list order should match the order in the pattern template.
> + *   The spec is the only relevant member of the item that is being used.
> + * @param[in] pattern_template_index
> + *   Pattern template index in the table.
> + * @param[in] actions
> + *   List of actions to be used.
> + *   The list order should match the order in the actions template.
> + * @param[in] actions_template_index
> + *   Actions template index in the table.
> + * @param[in] user_data
> + *   The user data that will be returned on the completion events.
> + * @param[out] error
> + *   Perform verbose error reporting if not NULL.
> + *   PMDs initialize this structure in case of error only.
> + *
> + * @return
> + *   Handle on success, NULL otherwise and rte_errno is set.
> + *   The rule handle doesn't mean that the rule has been populated.
> + *   Only completion result indicates that if there was success or failure.
> + */
> +__rte_experimental
> +struct rte_flow *
> +rte_flow_async_create_by_index_with_pattern(uint16_t port_id,
> +					    uint32_t queue_id,
> +					    const struct rte_flow_op_attr *op_attr,
> +					    struct rte_flow_template_table *template_table,
> +					    uint32_t rule_index,
> +					    const struct rte_flow_item pattern[],
> +					    uint8_t pattern_template_index,
> +					    const struct rte_flow_action actions[],
> +					    uint8_t actions_template_index,
> +					    void *user_data,
> +					    struct rte_flow_error *error);

Choosing names is hard, long names are not always better. Can you think
of a more concise name?

Je n’ai fait celle-ci plus longue que parce que je n’ai pas eu le loisir de la faire plus courte. -- Blaise Pascal


More information about the dev mailing list