DPDK
20.05.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) |
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 63 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 66 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 73 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 80 of file rte_flow_driver.h.
int(* flush) (struct rte_eth_dev *, struct rte_flow_error *) |
See rte_flow_flush().
Definition at line 85 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 89 of file rte_flow_driver.h.
int(* isolate) (struct rte_eth_dev *, int, struct rte_flow_error *) |
See rte_flow_isolate().
Definition at line 96 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 101 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 106 of file rte_flow_driver.h.