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

FreeBSD Manual Pages

  
 
  

home | help
rte_port_in_action.h(3)		     DPDK	       rte_port_in_action.h(3)

NAME
       rte_port_in_action.h

SYNOPSIS
       #include	<stdint.h>
       #include	<rte_compat.h>
       #include	<rte_table_hash.h>
       #include	'rte_pipeline.h'

   Data	Structures
       struct rte_port_in_action_fltr_config
       struct rte_port_in_action_fltr_params
       struct rte_port_in_action_lb_config
       struct rte_port_in_action_lb_params

   Macros
       #define RTE_PORT_IN_ACTION_FLTR_KEY_SIZE	  16
       #define RTE_PORT_IN_ACTION_LB_KEY_SIZE_MIN   8
       #define RTE_PORT_IN_ACTION_LB_KEY_SIZE_MAX   64
       #define RTE_PORT_IN_ACTION_LB_TABLE_SIZE	  16

   Enumerations
       enum rte_port_in_action_type { RTE_PORT_IN_ACTION_FLTR =	0,
	   RTE_PORT_IN_ACTION_LB }

   Functions
       __rte_experimental struct rte_port_in_action_profile *
	   rte_port_in_action_profile_create (uint32_t socket_id)
       __rte_experimental int rte_port_in_action_profile_free (struct
	   rte_port_in_action_profile *profile)
       __rte_experimental int rte_port_in_action_profile_action_register
	   (struct rte_port_in_action_profile *profile,	enum
	   rte_port_in_action_type type, void *action_config)
       __rte_experimental int rte_port_in_action_profile_freeze	(struct
	   rte_port_in_action_profile *profile)
       __rte_experimental struct rte_port_in_action *
	   rte_port_in_action_create (struct rte_port_in_action_profile
	   *profile, uint32_t socket_id)
       __rte_experimental int rte_port_in_action_free (struct
	   rte_port_in_action *action)
       __rte_experimental int rte_port_in_action_params_get (struct
	   rte_port_in_action *action, struct rte_pipeline_port_in_params
	   *params)
       __rte_experimental int rte_port_in_action_apply (struct
	   rte_port_in_action *action, enum rte_port_in_action_type type, void
	   *action_params)

Detailed Description
       RTE Pipeline Input Port Actions

       This API	provides a common set of actions for pipeline input ports to
       speed up	application development.

       Each pipeline input port	can be assigned	an action handler to be
       executed	on every input packet during the pipeline execution. The
       pipeline	library	allows the user	to define his own input	port actions
       by providing customized input port action handler. While	the user can
       still follow this process, this API is intended to provide a quicker
       development alternative for a set of predefined actions.

       The typical steps to use	this API are:

        Define	an input port action profile. This is a	configuration template
	 that  can potentially be shared by multiple input ports from the same
	 or different pipelines, with different	 input	ports  from  the  same
	 pipeline  able	to use different action	profiles. For every input port
	 using a given action profile, the profile defines the set of  actions
	 and  the  action  configuration to be executed	by the input port. API
	 functions:			  rte_port_in_action_profile_create(),
	 rte_port_in_action_profile_action_register(),
	 rte_port_in_action_profile_freeze().

        Instantiate the input port action profile to create input port	action
	 objects.  Each	 pipeline  input  port	has its	own action object. API
	 functions: rte_port_in_action_create().

        Use the input port action object to generate the  input  port	action
	 handler     invoked	 by	the	pipeline.    API    functions:
	 rte_port_in_action_params_get().

        Use the input port  action  object  to	 generate  the	internal  data
	 structures  used  by  the  input  port	 action	handler	based on given
	 action	parameters. API	functions: rte_port_in_action_apply().

       Warning
	   EXPERIMENTAL: this API may change without prior notice

       Definition in file rte_port_in_action.h.

Macro Definition Documentation
   #define RTE_PORT_IN_ACTION_FLTR_KEY_SIZE   16
       RTE_PORT_IN_ACTION_FLTR Filter key size (number of bytes)

       Definition at line 73 of	file rte_port_in_action.h.

   #define RTE_PORT_IN_ACTION_LB_KEY_SIZE_MIN	8
       RTE_PORT_IN_ACTION_LB Load balance key size min (number of bytes).

       Definition at line 113 of file rte_port_in_action.h.

   #define RTE_PORT_IN_ACTION_LB_KEY_SIZE_MAX	64
       Load balance key	size max (number of bytes).

       Definition at line 116 of file rte_port_in_action.h.

   #define RTE_PORT_IN_ACTION_LB_TABLE_SIZE   16
       Load balance table size.

       Definition at line 119 of file rte_port_in_action.h.

Enumeration Type Documentation
   enum	rte_port_in_action_type
       Input port actions.

       Enumerator

       RTE_PORT_IN_ACTION_FLTR
	      Filter selected input packets.

       RTE_PORT_IN_ACTION_LB
	      Load balance.

       Definition at line 61 of	file rte_port_in_action.h.

Function Documentation
   __rte_experimental	     struct	   rte_port_in_action_profile	     *
       rte_port_in_action_profile_create (uint32_t socket_id)
       Input port action profile create.

       Parameters
	   socket_id  CPU  socket  ID  for the internal	data structures	memory
	   allocation.

       Returns
	   Input port action profile handle on success,	NULL otherwise.

   __rte_experimental	  int	  rte_port_in_action_profile_free      (struct
       rte_port_in_action_profile * profile)
       Input port action profile free.

       Parameters
	   profile  Input  port	 action	profile	handle (needs to be valid). If
	   profile is NULL, no operation is performed.

       Returns
	   Always zero.

   __rte_experimental int  rte_port_in_action_profile_action_register  (struct
       rte_port_in_action_profile   *  profile,	 enum  rte_port_in_action_type
       type, void * action_config)
       Input port action profile action	register.

       Parameters
	   profile Input port action profile handle (needs to be valid and not
	   in frozen state).
	   type	Specific input port action to be registered for	profile.
	   action_config  Configuration	 for  the  type	 action.   If	struct
	   rte_port_in_action_*type*_config is defined,	it needs to point to a
	   valid  instance  of this structure, otherwise it needs to be	set to
	   NULL.

       Returns
	   Zero	on success, non-zero error code	otherwise.

   __rte_experimental	 int	 rte_port_in_action_profile_freeze     (struct
       rte_port_in_action_profile * profile)
       Input port action profile freeze.

       Once this function is called successfully, the given profile enters the
       frozen  state with the following	immediate effects: no more actions can
       be registered for this profile, so the profile can be  instantiated  to
       create input port action	objects.

       Parameters
	   profile Input port profile action handle (needs to be valid and not
	   in frozen state).

       Returns
	   Zero	on success, non-zero error code	otherwise.

       See also
	   rte_port_in_action_create()

   __rte_experimental  struct  rte_port_in_action  * rte_port_in_action_create
       (struct rte_port_in_action_profile * profile, uint32_t socket_id)
       Input port action create.

       Instantiates the	given input port action	profile	 to  create  an	 input
       port action object.

       Parameters
	   profile  Input port profile action handle (needs to be valid	and in
	   frozen state).
	   socket_id CPU socket	ID where the internal data structures required
	   by the new input port action	object should be allocated.

       Returns
	   Handle to input port	action object on success, NULL on error.

   __rte_experimental int rte_port_in_action_free (struct rte_port_in_action *
       action)
       Input port action free.

       Parameters
	   action Handle to input port action object (needs to be  valid).  If
	   action is NULL, no operation	is performed.

       Returns
	   Always zero.

   __rte_experimental	   int	    rte_port_in_action_params_get      (struct
       rte_port_in_action  *  action,  struct  rte_pipeline_port_in_params   *
       params)
       Input port params get.

       Parameters
	   action Handle to input port action object (needs to be valid).
	   params Pipeline input port parameters (needs	to be pre-allocated).

       Returns
	   Zero	on success, non-zero error code	otherwise.

   __rte_experimental  int rte_port_in_action_apply (struct rte_port_in_action
       * action, enum rte_port_in_action_type type, void * action_params)
       Input port action apply.

       Parameters
	   action Handle to input port action object (needs to be valid).
	   type	Specific input port action previously registered for the input
	   port	action profile of the action object.
	   action_params  Parameters  for   the	  type	 action.   If	struct
	   rte_port_in_action_*type*_params is defined,	it needs to point to a
	   valid  instance  of this structure, otherwise it needs to be	set to
	   NULL.

       Returns
	   Zero	on success, non-zero error code	otherwise.

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

Version	25.11.0			Thu Jun	11 2026	       rte_port_in_action.h(3)

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

home | help