|
DPDK 25.11.3
|
#include <rte_flow_driver.h>
Data Fields | |
| int(*) | validate (struct rte_eth_dev *, const struct rte_flow_attr *, const struct rte_flow_item[], const struct rte_flow_action[], struct rte_flow_error *) |
| struct rte_flow *(*) | create (struct rte_eth_dev *, const struct rte_flow_attr *, const struct rte_flow_item[], const struct rte_flow_action[], struct rte_flow_error *) |
| int(*) | destroy (struct rte_eth_dev *, struct rte_flow *, struct rte_flow_error *) |
| int(*) | flush (struct rte_eth_dev *, struct rte_flow_error *) |
| int(*) | query (struct rte_eth_dev *, struct rte_flow *, const struct rte_flow_action *, void *, struct rte_flow_error *) |
| int(*) | isolate (struct rte_eth_dev *, int, struct rte_flow_error *) |
| int(*) | dev_dump (struct rte_eth_dev *dev, struct rte_flow *flow, FILE *file, struct rte_flow_error *error) |
| int(*) | get_aged_flows (struct rte_eth_dev *dev, void **context, uint32_t nb_contexts, struct rte_flow_error *err) |
| int(*) | get_q_aged_flows (struct rte_eth_dev *dev, uint32_t queue_id, void **contexts, uint32_t nb_contexts, struct rte_flow_error *error) |
| struct rte_flow_action_handle *(*) | action_handle_create (struct rte_eth_dev *dev, const struct rte_flow_indir_action_conf *conf, const struct rte_flow_action *action, struct rte_flow_error *error) |
| int(*) | action_handle_destroy (struct rte_eth_dev *dev, struct rte_flow_action_handle *handle, struct rte_flow_error *error) |
| int(*) | action_handle_update (struct rte_eth_dev *dev, struct rte_flow_action_handle *handle, const void *update, struct rte_flow_error *error) |
| int(*) | action_handle_query (struct rte_eth_dev *dev, const struct rte_flow_action_handle *handle, void *data, struct rte_flow_error *error) |
| int(*) | action_handle_query_update (struct rte_eth_dev *dev, struct rte_flow_action_handle *handle, const void *update, void *query, enum rte_flow_query_update_mode qu_mode, struct rte_flow_error *error) |
| struct rte_flow_action_list_handle *(*) | action_list_handle_create (struct rte_eth_dev *dev, const struct rte_flow_indir_action_conf *conf, const struct rte_flow_action actions[], struct rte_flow_error *error) |
| int(*) | action_list_handle_destroy (struct rte_eth_dev *dev, struct rte_flow_action_list_handle *handle, struct rte_flow_error *error) |
| int(*) | tunnel_decap_set (struct rte_eth_dev *dev, struct rte_flow_tunnel *tunnel, struct rte_flow_action **pmd_actions, uint32_t *num_of_actions, struct rte_flow_error *err) |
| int(*) | tunnel_match (struct rte_eth_dev *dev, struct rte_flow_tunnel *tunnel, struct rte_flow_item **pmd_items, uint32_t *num_of_items, struct rte_flow_error *err) |
| int(*) | get_restore_info (struct rte_eth_dev *dev, struct rte_mbuf *m, struct rte_flow_restore_info *info, struct rte_flow_error *err) |
| int(*) | tunnel_action_decap_release (struct rte_eth_dev *dev, struct rte_flow_action *pmd_actions, uint32_t num_of_actions, struct rte_flow_error *err) |
| int(*) | tunnel_item_release (struct rte_eth_dev *dev, struct rte_flow_item *pmd_items, uint32_t num_of_items, struct rte_flow_error *err) |
| int(*) | pick_transfer_proxy (struct rte_eth_dev *dev, uint16_t *proxy_port_id, struct rte_flow_error *error) |
| int(*) | info_get (struct rte_eth_dev *dev, struct rte_flow_port_info *port_info, struct rte_flow_queue_info *queue_info, struct rte_flow_error *err) |
| int(*) | configure (struct rte_eth_dev *dev, const struct rte_flow_port_attr *port_attr, uint16_t nb_queue, const struct rte_flow_queue_attr *queue_attr[], struct rte_flow_error *err) |
| struct rte_flow_pattern_template *(*) | pattern_template_create (struct rte_eth_dev *dev, const struct rte_flow_pattern_template_attr *template_attr, const struct rte_flow_item pattern[], struct rte_flow_error *err) |
| int(*) | pattern_template_destroy (struct rte_eth_dev *dev, struct rte_flow_pattern_template *pattern_template, struct rte_flow_error *err) |
| struct rte_flow_actions_template *(*) | actions_template_create (struct rte_eth_dev *dev, const struct rte_flow_actions_template_attr *template_attr, const struct rte_flow_action actions[], const struct rte_flow_action masks[], struct rte_flow_error *err) |
| int(*) | actions_template_destroy (struct rte_eth_dev *dev, struct rte_flow_actions_template *actions_template, struct rte_flow_error *err) |
| struct rte_flow_template_table *(*) | template_table_create (struct rte_eth_dev *dev, const struct rte_flow_template_table_attr *table_attr, struct rte_flow_pattern_template *pattern_templates[], uint8_t nb_pattern_templates, struct rte_flow_actions_template *actions_templates[], uint8_t nb_actions_templates, struct rte_flow_error *err) |
| int(*) | template_table_destroy (struct rte_eth_dev *dev, struct rte_flow_template_table *template_table, struct rte_flow_error *err) |
| int(*) | group_set_miss_actions (struct rte_eth_dev *dev, uint32_t group_id, const struct rte_flow_group_attr *attr, const struct rte_flow_action actions[], struct rte_flow_error *err) |
| int(*) | actions_update (struct rte_eth_dev *dev, struct rte_flow *flow, const struct rte_flow_action actions[], struct rte_flow_error *error) |
| int(*) | action_list_handle_query_update (struct rte_eth_dev *dev, const struct rte_flow_action_list_handle *handle, const void **update, void **query, enum rte_flow_query_update_mode mode, struct rte_flow_error *error) |
| int(*) | flow_calc_table_hash (struct rte_eth_dev *dev, const struct rte_flow_template_table *table, const struct rte_flow_item pattern[], uint8_t pattern_template_index, uint32_t *hash, struct rte_flow_error *error) |
| int(*) | flow_calc_encap_hash (struct rte_eth_dev *dev, const struct rte_flow_item pattern[], enum rte_flow_encap_hash_field dest_field, uint8_t *hash, struct rte_flow_error *error) |
| int(*) | flow_template_table_resize (struct rte_eth_dev *dev, struct rte_flow_template_table *table, uint32_t nb_rules, struct rte_flow_error *error) |
| int(*) | flow_update_resized (struct rte_eth_dev *dev, uint32_t queue, const struct rte_flow_op_attr *attr, struct rte_flow *rule, void *user_data, struct rte_flow_error *error) |
| int(*) | flow_template_table_resize_complete (struct rte_eth_dev *dev, struct rte_flow_template_table *table, struct rte_flow_error *error) |
Generic flow operations structure implemented and returned by PMDs.
These callback functions are not supposed to be used by applications directly, which must rely on the API defined in rte_flow.h.
Public-facing wrapper functions perform a few consistency checks so that unimplemented (i.e. NULL) callbacks simply return -ENOTSUP. These callbacks otherwise only differ by their first argument (with port ID already resolved to a pointer to struct rte_eth_dev).
Definition at line 39 of file rte_flow_driver.h.
| int(*) validate(struct rte_eth_dev *, const struct rte_flow_attr *, const struct rte_flow_item[], const struct rte_flow_action[], struct rte_flow_error *) |
See rte_flow_validate().
Definition at line 41 of file rte_flow_driver.h.
| struct rte_flow *(*) create(struct rte_eth_dev *, const struct rte_flow_attr *, const struct rte_flow_item[], const struct rte_flow_action[], struct rte_flow_error *) |
See rte_flow_create().
Definition at line 41 of file rte_flow_driver.h.
| int(*) destroy(struct rte_eth_dev *, struct rte_flow *, struct rte_flow_error *) |
See rte_flow_destroy().
Definition at line 55 of file rte_flow_driver.h.
| int(*) flush(struct rte_eth_dev *, struct rte_flow_error *) |
See rte_flow_flush().
Definition at line 60 of file rte_flow_driver.h.
| int(*) query(struct rte_eth_dev *, struct rte_flow *, const struct rte_flow_action *, void *, struct rte_flow_error *) |
See rte_flow_query().
Definition at line 64 of file rte_flow_driver.h.
| int(*) isolate(struct rte_eth_dev *, int, struct rte_flow_error *) |
See rte_flow_isolate().
Definition at line 71 of file rte_flow_driver.h.
| int(*) dev_dump(struct rte_eth_dev *dev, struct rte_flow *flow, FILE *file, struct rte_flow_error *error) |
See rte_flow_dev_dump().
Definition at line 76 of file rte_flow_driver.h.
| int(*) get_aged_flows(struct rte_eth_dev *dev, void **context, uint32_t nb_contexts, struct rte_flow_error *err) |
Definition at line 82 of file rte_flow_driver.h.
| int(*) get_q_aged_flows(struct rte_eth_dev *dev, uint32_t queue_id, void **contexts, uint32_t nb_contexts, struct rte_flow_error *error) |
See rte_flow_get_q_aged_flows()
Definition at line 88 of file rte_flow_driver.h.
| struct rte_flow_action_handle *(*) action_handle_create(struct rte_eth_dev *dev, const struct rte_flow_indir_action_conf *conf, const struct rte_flow_action *action, struct rte_flow_error *error) |
See rte_flow_action_handle_create()
Definition at line 88 of file rte_flow_driver.h.
| int(*) action_handle_destroy(struct rte_eth_dev *dev, struct rte_flow_action_handle *handle, struct rte_flow_error *error) |
See rte_flow_action_handle_destroy()
Definition at line 101 of file rte_flow_driver.h.
| int(*) action_handle_update(struct rte_eth_dev *dev, struct rte_flow_action_handle *handle, const void *update, struct rte_flow_error *error) |
See rte_flow_action_handle_update()
Definition at line 106 of file rte_flow_driver.h.
| int(*) action_handle_query(struct rte_eth_dev *dev, const struct rte_flow_action_handle *handle, void *data, struct rte_flow_error *error) |
See rte_flow_action_handle_query()
Definition at line 112 of file rte_flow_driver.h.
| int(*) action_handle_query_update(struct rte_eth_dev *dev, struct rte_flow_action_handle *handle, const void *update, void *query, enum rte_flow_query_update_mode qu_mode, struct rte_flow_error *error) |
See rte_flow_action_handle_query_update()
Definition at line 118 of file rte_flow_driver.h.
| struct rte_flow_action_list_handle *(*) action_list_handle_create(struct rte_eth_dev *dev, const struct rte_flow_indir_action_conf *conf, const struct rte_flow_action actions[], struct rte_flow_error *error) |
Definition at line 118 of file rte_flow_driver.h.
| int(*) action_list_handle_destroy(struct rte_eth_dev *dev, struct rte_flow_action_list_handle *handle, struct rte_flow_error *error) |
Definition at line 131 of file rte_flow_driver.h.
| int(*) tunnel_decap_set(struct rte_eth_dev *dev, struct rte_flow_tunnel *tunnel, struct rte_flow_action **pmd_actions, uint32_t *num_of_actions, struct rte_flow_error *err) |
See rte_flow_tunnel_decap_set()
Definition at line 136 of file rte_flow_driver.h.
| int(*) tunnel_match(struct rte_eth_dev *dev, struct rte_flow_tunnel *tunnel, struct rte_flow_item **pmd_items, uint32_t *num_of_items, struct rte_flow_error *err) |
Definition at line 143 of file rte_flow_driver.h.
| int(*) get_restore_info(struct rte_eth_dev *dev, struct rte_mbuf *m, struct rte_flow_restore_info *info, struct rte_flow_error *err) |
See rte_flow_get_rte_flow_restore_info()
Definition at line 150 of file rte_flow_driver.h.
| int(*) tunnel_action_decap_release(struct rte_eth_dev *dev, struct rte_flow_action *pmd_actions, uint32_t num_of_actions, struct rte_flow_error *err) |
See rte_flow_action_tunnel_decap_release()
Definition at line 156 of file rte_flow_driver.h.
| int(*) tunnel_item_release(struct rte_eth_dev *dev, struct rte_flow_item *pmd_items, uint32_t num_of_items, struct rte_flow_error *err) |
See rte_flow_item_release()
Definition at line 162 of file rte_flow_driver.h.
| int(*) pick_transfer_proxy(struct rte_eth_dev *dev, uint16_t *proxy_port_id, struct rte_flow_error *error) |
See rte_flow_pick_transfer_proxy()
Definition at line 168 of file rte_flow_driver.h.
| int(*) info_get(struct rte_eth_dev *dev, struct rte_flow_port_info *port_info, struct rte_flow_queue_info *queue_info, struct rte_flow_error *err) |
Definition at line 181 of file rte_flow_driver.h.
| int(*) configure(struct rte_eth_dev *dev, const struct rte_flow_port_attr *port_attr, uint16_t nb_queue, const struct rte_flow_queue_attr *queue_attr[], struct rte_flow_error *err) |
Definition at line 187 of file rte_flow_driver.h.
| struct rte_flow_pattern_template *(*) pattern_template_create(struct rte_eth_dev *dev, const struct rte_flow_pattern_template_attr *template_attr, const struct rte_flow_item pattern[], struct rte_flow_error *err) |
See rte_flow_pattern_template_create()
Definition at line 187 of file rte_flow_driver.h.
| int(*) pattern_template_destroy(struct rte_eth_dev *dev, struct rte_flow_pattern_template *pattern_template, struct rte_flow_error *err) |
See rte_flow_pattern_template_destroy()
Definition at line 200 of file rte_flow_driver.h.
| struct rte_flow_actions_template *(*) actions_template_create(struct rte_eth_dev *dev, const struct rte_flow_actions_template_attr *template_attr, const struct rte_flow_action actions[], const struct rte_flow_action masks[], struct rte_flow_error *err) |
See rte_flow_actions_template_create()
Definition at line 200 of file rte_flow_driver.h.
| int(*) actions_template_destroy(struct rte_eth_dev *dev, struct rte_flow_actions_template *actions_template, struct rte_flow_error *err) |
See rte_flow_actions_template_destroy()
Definition at line 212 of file rte_flow_driver.h.
| struct rte_flow_template_table *(*) template_table_create(struct rte_eth_dev *dev, const struct rte_flow_template_table_attr *table_attr, struct rte_flow_pattern_template *pattern_templates[], uint8_t nb_pattern_templates, struct rte_flow_actions_template *actions_templates[], uint8_t nb_actions_templates, struct rte_flow_error *err) |
See rte_flow_template_table_create()
Definition at line 212 of file rte_flow_driver.h.
| int(*) template_table_destroy(struct rte_eth_dev *dev, struct rte_flow_template_table *template_table, struct rte_flow_error *err) |
See rte_flow_template_table_destroy()
Definition at line 226 of file rte_flow_driver.h.
| int(*) group_set_miss_actions(struct rte_eth_dev *dev, uint32_t group_id, const struct rte_flow_group_attr *attr, const struct rte_flow_action actions[], struct rte_flow_error *err) |
See rte_flow_group_set_miss_actions()
Definition at line 231 of file rte_flow_driver.h.
| int(*) actions_update(struct rte_eth_dev *dev, struct rte_flow *flow, const struct rte_flow_action actions[], struct rte_flow_error *error) |
See rte_flow_actions_update().
Definition at line 238 of file rte_flow_driver.h.
| int(*) action_list_handle_query_update(struct rte_eth_dev *dev, const struct rte_flow_action_list_handle *handle, const void **update, void **query, enum rte_flow_query_update_mode mode, struct rte_flow_error *error) |
Definition at line 244 of file rte_flow_driver.h.
| int(*) flow_calc_table_hash(struct rte_eth_dev *dev, const struct rte_flow_template_table *table, const struct rte_flow_item pattern[], uint8_t pattern_template_index, uint32_t *hash, struct rte_flow_error *error) |
Definition at line 251 of file rte_flow_driver.h.
| int(*) flow_calc_encap_hash(struct rte_eth_dev *dev, const struct rte_flow_item pattern[], enum rte_flow_encap_hash_field dest_field, uint8_t *hash, struct rte_flow_error *error) |
Definition at line 256 of file rte_flow_driver.h.
| int(*) flow_template_table_resize(struct rte_eth_dev *dev, struct rte_flow_template_table *table, uint32_t nb_rules, struct rte_flow_error *error) |
Definition at line 261 of file rte_flow_driver.h.
| int(*) flow_update_resized(struct rte_eth_dev *dev, uint32_t queue, const struct rte_flow_op_attr *attr, struct rte_flow *rule, void *user_data, struct rte_flow_error *error) |
Definition at line 266 of file rte_flow_driver.h.
| int(*) flow_template_table_resize_complete(struct rte_eth_dev *dev, struct rte_flow_template_table *table, struct rte_flow_error *error) |
Definition at line 271 of file rte_flow_driver.h.