DPDK
24.07.0
|
#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 42 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 49 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 56 of file rte_flow_driver.h.
int(* flush) (struct rte_eth_dev *, struct rte_flow_error *) |
See rte_flow_flush().
Definition at line 61 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 65 of file rte_flow_driver.h.
int(* isolate) (struct rte_eth_dev *, int, struct rte_flow_error *) |
See rte_flow_isolate().
Definition at line 72 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 77 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 83 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 89 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 96 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 102 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 107 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 113 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 119 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 126 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 132 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 137 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 144 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 151 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 157 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 163 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 169 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 182 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 188 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 195 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 201 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 206 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 213 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 218 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 227 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 232 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 239 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 245 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 252 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 257 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 272 of file rte_flow_driver.h.