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

FreeBSD Manual Pages

  
 
  

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_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(* 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_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)
       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_error *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
       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
   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)
       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_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(* 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_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.

   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
       *template_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
       *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 200 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 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_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 212 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 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
       actions[], 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
       *error)
       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 Jun	11 2026		       rte_flow_ops(3)

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

home | help