DPDK  21.11.8
Data Fields
rte_flow_ops Struct Reference

#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)
 
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)
 

Detailed Description

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.

Field Documentation

◆ validate

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.

◆ create

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.

◆ destroy

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.

◆ flush

int(* flush) (struct rte_eth_dev *, struct rte_flow_error *)

See rte_flow_flush().

Definition at line 61 of file rte_flow_driver.h.

◆ query

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.

◆ isolate

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.

◆ dev_dump

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.

◆ get_aged_flows

int(* get_aged_flows) (struct rte_eth_dev *dev, void **context, uint32_t nb_contexts, struct rte_flow_error *err)

See rte_flow_get_aged_flows()

Definition at line 83 of file rte_flow_driver.h.

◆ action_handle_create

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 89 of file rte_flow_driver.h.

◆ action_handle_destroy

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 95 of file rte_flow_driver.h.

◆ action_handle_update

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 100 of file rte_flow_driver.h.

◆ action_handle_query

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 106 of file rte_flow_driver.h.

◆ tunnel_decap_set

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 112 of file rte_flow_driver.h.

◆ tunnel_match

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)

See rte_flow_tunnel_match()

Definition at line 119 of file rte_flow_driver.h.

◆ get_restore_info

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 126 of file rte_flow_driver.h.

◆ tunnel_action_decap_release

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 132 of file rte_flow_driver.h.

◆ tunnel_item_release

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 138 of file rte_flow_driver.h.

◆ pick_transfer_proxy

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 144 of file rte_flow_driver.h.


The documentation for this struct was generated from the following file: