Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
rte_flow_ops(3) 		      DPDK			 rte_flow_ops(3)

NAME
     rte_flow_ops

SYNOPSIS
     #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_ac-
	 tion_handle *handle, struct rte_flow_error *error)
     int(* action_handle_update )(struct rte_eth_dev *dev,  struct  rte_flow_ac-
	 tion_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  *er-
	 ror)
     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_ac-
	 tions, struct rte_flow_error *err)
     int(* tunnel_match )(struct rte_eth_dev *dev, struct rte_flow_tunnel  *tun-
	 nel,  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_er-
	 ror *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 *tem-
	 plate_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 *tem-
	 plate_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   *ta-
	 ble_attr,    struct   rte_flow_pattern_template   *pattern_templates[],
	 uint8_t  nb_pattern_templates,  struct  rte_flow_actions_template  *ac-
	 tions_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_er-
	 ror *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)

Detailed Description
     Generic flow operations structure implemented and returned by PMDs.

     These callback functions are not supposed to be used  by  applications  di-
     rectly, 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  re-
     solved to a pointer to struct rte_eth_dev).

     Definition at line 39 of file rte_flow_driver.h.

Field Documentation
   int(*  validate)  (struct  rte_eth_dev *, const struct rte_flow_attr *, const
     struct rte_flow_item[], const struct rte_flow_action[], struct rte_flow_er-
     ror *)
     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_er-
     ror *)
     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)
     See rte_flow_get_aged_flows()

     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_ac-
     tion_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_ac-
     tion_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(*    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 118 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)
     See also
	 rte_flow_action_list_handle_create()

     Definition at line 118 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)
     See also
	 rte_flow_action_list_handle_destroy()

     Definition at line 131 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)
     See rte_flow_tunnel_match()

     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_er-
     ror *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.

   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 168 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)
     See rte_flow_info_get()

     Definition at line 181 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)
     See rte_flow_configure()

     Definition at line 187 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   *tem-
     plate_attr,  const  struct  rte_flow_item	pattern[], struct rte_flow_error
     *err)
     See rte_flow_pattern_template_create()

     Definition at line 187 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 200 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   *tem-
     plate_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 200 of file rte_flow_driver.h.

   int(* actions_template_destroy) (struct rte_eth_dev *dev, struct rte_flow_ac-
     tions_template *actions_template, struct rte_flow_error *err)
     See rte_flow_actions_template_destroy()

     Definition at line 212 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_tem-
     plates,  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 212 of file rte_flow_driver.h.

   int(*  template_table_destroy) (struct rte_eth_dev *dev, struct rte_flow_tem-
     plate_table *template_table, struct rte_flow_error *err)
     See rte_flow_template_table_destroy()

     Definition at line 226 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 ac-
     tions[], struct rte_flow_error *err)
     See rte_flow_group_set_miss_actions()

     Definition at line 231 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 238 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)
     See also
	 rte_flow_action_list_handle_query_update()

     Definition at line 244 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  *er-
     ror)
     See also
	 rte_flow_calc_table_hash()

     Definition at line 251 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)
     See also
	 rte_flow_calc_encap_hash()

     Definition at line 256 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)
     See also
	 rte_flow_template_table_resize()

     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)
     See also
	 rte_flow_async_update_resized()

     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)
     See also
	 rte_flow_template_table_resize_complete()

     Definition at line 271 of file rte_flow_driver.h.

Author
     Generated automatically by Doxygen for DPDK from the source code.

Version 25.11.0 		 Thu Aug 27 2026		 rte_flow_ops(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pick_transfer_proxy&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help