DPDK
21.02.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, 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) |
struct rte_flow_shared_action *(* | shared_action_create )(struct rte_eth_dev *dev, const struct rte_flow_shared_action_conf *conf, const struct rte_flow_action *action, struct rte_flow_error *error) |
int(* | shared_action_destroy )(struct rte_eth_dev *dev, struct rte_flow_shared_action *shared_action, struct rte_flow_error *error) |
int(* | shared_action_update )(struct rte_eth_dev *dev, struct rte_flow_shared_action *shared_action, const struct rte_flow_action *update, struct rte_flow_error *error) |
int(* | shared_action_query )(struct rte_eth_dev *dev, const struct rte_flow_shared_action *shared_action, 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) |
Generic flow operations structure implemented and returned by PMDs.
To implement this API, PMDs must handle the RTE_ETH_FILTER_GENERIC filter type in their .filter_ctrl callback function (struct eth_dev_ops) as well as the RTE_ETH_FILTER_GET filter operation.
If successful, this operation must result in a pointer to a PMD-specific struct rte_flow_ops written to the argument address as described below:
See also rte_flow_ops_get().
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 64 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 67 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 74 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 81 of file rte_flow_driver.h.
int(* flush) (struct rte_eth_dev *, struct rte_flow_error *) |
See rte_flow_flush().
Definition at line 86 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 90 of file rte_flow_driver.h.
int(* isolate) (struct rte_eth_dev *, int, struct rte_flow_error *) |
See rte_flow_isolate().
Definition at line 97 of file rte_flow_driver.h.
int(* dev_dump) (struct rte_eth_dev *dev, FILE *file, struct rte_flow_error *error) |
See rte_flow_dev_dump().
Definition at line 102 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 107 of file rte_flow_driver.h.
struct rte_flow_shared_action*(* shared_action_create) (struct rte_eth_dev *dev, const struct rte_flow_shared_action_conf *conf, const struct rte_flow_action *action, struct rte_flow_error *error) |
See rte_flow_shared_action_create()
Definition at line 113 of file rte_flow_driver.h.
int(* shared_action_destroy) (struct rte_eth_dev *dev, struct rte_flow_shared_action *shared_action, struct rte_flow_error *error) |
See rte_flow_shared_action_destroy()
Definition at line 119 of file rte_flow_driver.h.
int(* shared_action_update) (struct rte_eth_dev *dev, struct rte_flow_shared_action *shared_action, const struct rte_flow_action *update, struct rte_flow_error *error) |
See rte_flow_shared_action_update()
Definition at line 124 of file rte_flow_driver.h.
int(* shared_action_query) (struct rte_eth_dev *dev, const struct rte_flow_shared_action *shared_action, void *data, struct rte_flow_error *error) |
See rte_flow_shared_action_query()
Definition at line 130 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.