DPDK 22.11.5
|
#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(* | 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) |
struct rte_flow *(* | async_create )(struct rte_eth_dev *dev, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow_template_table *template_table, 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 *err) |
int(* | async_destroy )(struct rte_eth_dev *dev, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow *flow, void *user_data, struct rte_flow_error *err) |
int(* | push )(struct rte_eth_dev *dev, uint32_t queue_id, struct rte_flow_error *err) |
int(* | pull )(struct rte_eth_dev *dev, uint32_t queue_id, struct rte_flow_op_result res[], uint16_t n_res, struct rte_flow_error *error) |
struct rte_flow_action_handle *(* | async_action_handle_create )(struct rte_eth_dev *dev, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, const struct rte_flow_indir_action_conf *indir_action_conf, const struct rte_flow_action *action, void *user_data, struct rte_flow_error *err) |
int(* | async_action_handle_destroy )(struct rte_eth_dev *dev, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow_action_handle *action_handle, void *user_data, struct rte_flow_error *error) |
int(* | async_action_handle_update )(struct rte_eth_dev *dev, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow_action_handle *action_handle, const void *update, void *user_data, struct rte_flow_error *error) |
int(* | async_action_handle_query )(struct rte_eth_dev *dev, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, const struct rte_flow_action_handle *action_handle, void *data, void *user_data, 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(* 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 118 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 125 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 132 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 138 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 144 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 150 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 163 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 169 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 169 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 182 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 182 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 194 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 194 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 208 of file rte_flow_driver.h.
struct rte_flow *(* async_create) (struct rte_eth_dev *dev, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow_template_table *template_table, 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 *err) |
Definition at line 208 of file rte_flow_driver.h.
int(* async_destroy) (struct rte_eth_dev *dev, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow *flow, void *user_data, struct rte_flow_error *err) |
Definition at line 225 of file rte_flow_driver.h.
int(* push) (struct rte_eth_dev *dev, uint32_t queue_id, struct rte_flow_error *err) |
See rte_flow_push()
Definition at line 233 of file rte_flow_driver.h.
int(* pull) (struct rte_eth_dev *dev, uint32_t queue_id, struct rte_flow_op_result res[], uint16_t n_res, struct rte_flow_error *error) |
See rte_flow_pull()
Definition at line 238 of file rte_flow_driver.h.
struct rte_flow_action_handle *(* async_action_handle_create) (struct rte_eth_dev *dev, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, const struct rte_flow_indir_action_conf *indir_action_conf, const struct rte_flow_action *action, void *user_data, struct rte_flow_error *err) |
See rte_flow_async_action_handle_create()
Definition at line 238 of file rte_flow_driver.h.
int(* async_action_handle_destroy) (struct rte_eth_dev *dev, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow_action_handle *action_handle, void *user_data, struct rte_flow_error *error) |
See rte_flow_async_action_handle_destroy()
Definition at line 254 of file rte_flow_driver.h.
int(* async_action_handle_update) (struct rte_eth_dev *dev, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow_action_handle *action_handle, const void *update, void *user_data, struct rte_flow_error *error) |
See rte_flow_async_action_handle_update()
Definition at line 262 of file rte_flow_driver.h.
int(* async_action_handle_query) (struct rte_eth_dev *dev, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, const struct rte_flow_action_handle *action_handle, void *data, void *user_data, struct rte_flow_error *error) |
See rte_flow_async_action_handle_query()
Definition at line 271 of file rte_flow_driver.h.