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

FreeBSD Manual Pages

  
 
  

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

NAME
       rte_rawdev_pmd.h

SYNOPSIS
       #include	<string.h>
       #include	<dev_driver.h>
       #include	<rte_malloc.h>
       #include	<rte_log.h>
       #include	<rte_common.h>
       #include	'rte_rawdev.h'

   Data	Structures
       struct rte_rawdev_ops

   Typedefs
       typedef int(* rawdev_info_get_t)	(struct	rte_rawdev *dev,
	   rte_rawdev_obj_t dev_info, size_t dev_private_size)
       typedef int(* rawdev_configure_t) (const	struct rte_rawdev *dev,
	   rte_rawdev_obj_t config, size_t config_size)
       typedef int(* rawdev_start_t) (struct rte_rawdev	*dev)
       typedef void(* rawdev_stop_t) (struct rte_rawdev	*dev)
       typedef int(* rawdev_close_t) (struct rte_rawdev	*dev)
       typedef int(* rawdev_reset_t) (struct rte_rawdev	*dev)
       typedef int(* rawdev_queue_conf_get_t) (struct rte_rawdev *dev,
	   uint16_t queue_id, rte_rawdev_obj_t queue_conf, size_t
	   queue_conf_size)
       typedef int(* rawdev_queue_setup_t) (struct rte_rawdev *dev, uint16_t
	   queue_id, rte_rawdev_obj_t queue_conf, size_t queue_conf_size)
       typedef int(* rawdev_queue_release_t) (struct rte_rawdev	*dev, uint16_t
	   queue_id)
       typedef uint16_t(* rawdev_queue_count_t)	(struct	rte_rawdev *dev)
       typedef int(* rawdev_enqueue_bufs_t) (struct rte_rawdev *dev, struct
	   rte_rawdev_buf **buffers, unsigned int count, rte_rawdev_obj_t
	   context)
       typedef int(* rawdev_dequeue_bufs_t) (struct rte_rawdev *dev, struct
	   rte_rawdev_buf **buffers, unsigned int count, rte_rawdev_obj_t
	   context)
       typedef int(* rawdev_dump_t) (struct rte_rawdev *dev, FILE *f)
       typedef int(* rawdev_get_attr_t)	(struct	rte_rawdev *dev, const char
	   *attr_name, uint64_t	*attr_value)
       typedef int(* rawdev_set_attr_t)	(struct	rte_rawdev *dev, const char
	   *attr_name, const uint64_t attr_value)
       typedef int(* rawdev_xstats_get_t) (const struct	rte_rawdev *dev, const
	   unsigned int	ids[], uint64_t	values[], unsigned int n)
       typedef int(* rawdev_xstats_reset_t) (struct rte_rawdev *dev, const
	   uint32_t ids[], uint32_t nb_ids)
       typedef int(* rawdev_xstats_get_names_t)	(const struct rte_rawdev *dev,
	   struct rte_rawdev_xstats_name *xstats_names,	unsigned int size)
       typedef uint64_t(* rawdev_xstats_get_by_name_t) (const struct
	   rte_rawdev *dev, const char *name, unsigned int *id)
       typedef int(* rawdev_firmware_status_get_t) (struct rte_rawdev *dev,
	   rte_rawdev_obj_t status_info)
       typedef int(* rawdev_firmware_version_get_t) (struct rte_rawdev *dev,
	   rte_rawdev_obj_t version_info)
       typedef int(* rawdev_firmware_load_t) (struct rte_rawdev	*dev,
	   rte_rawdev_obj_t firmware_buf)
       typedef int(* rawdev_firmware_unload_t) (struct rte_rawdev *dev)
       typedef int(* rawdev_selftest_t)	(uint16_t dev_id)

   Functions
       static struct rte_rawdev	* rte_rawdev_pmd_get_named_dev (const char
	   *name)
       static struct rte_rawdev	* rte_rawdev_pmd_get_dev (uint8_t dev_id)
       static unsigned rte_rawdev_pmd_is_valid_dev (uint8_t dev_id)
       struct rte_rawdev * rte_rawdev_pmd_allocate (const char *name, size_t
	   dev_private_size, int socket_id)
       int rte_rawdev_pmd_release (struct rte_rawdev *rawdev)
       struct rte_rawdev * rte_rawdev_pmd_init (const char *name, size_t
	   dev_private_size, int socket_id)
       int rte_rawdev_pmd_uninit (const	char *name)

Detailed Description
       RTE RAW PMD APIs

       Note
	   Driver facing APIs for a raw	device.	These are not to be called
	   directly by any application.

       Definition in file rte_rawdev_pmd.h.

Typedef	Documentation
   typedef int(* rawdev_info_get_t) (struct rte_rawdev *dev, rte_rawdev_obj_t
       dev_info, size_t	dev_private_size)
       Definitions of all functions exported by	a driver through the generic
       structure of type rawdev_ops supplied in	the rte_rawdev structure
       associated with a device. Get device information	of a device.

       Parameters
	   dev Raw device pointer
	   dev_info Raw	device information structure
	   dev_private_size The	size of	the structure pointed to by
	   dev_info->dev_private

       Returns
	   Returns 0 on	success, negative error	code on	failure

       Definition at line 172 of file rte_rawdev_pmd.h.

   typedef int(* rawdev_configure_t) (const struct rte_rawdev *dev,
       rte_rawdev_obj_t	config,	size_t config_size)
       Configure a device.

       Parameters
	   dev Raw device pointer
	   config Void object containing device	specific configuration
	   config_size Size of the memory allocated for	the configuration

       Returns
	   Returns 0 on	success

       Definition at line 189 of file rte_rawdev_pmd.h.

   typedef int(* rawdev_start_t) (struct rte_rawdev *dev)
       Start a configured device.

       Parameters
	   dev Raw device pointer

       Returns
	   Returns 0 on	success

       Definition at line 202 of file rte_rawdev_pmd.h.

   typedef void(* rawdev_stop_t) (struct rte_rawdev *dev)
       Stop a configured device.

       Parameters
	   dev Raw device pointer

       Definition at line 210 of file rte_rawdev_pmd.h.

   typedef int(* rawdev_close_t) (struct rte_rawdev *dev)
       Close a configured device.

       Parameters
	   dev Raw device pointer

       Returns

	    0 on success

	    (-EAGAIN) if can't	close as device	is busy

       Definition at line 222 of file rte_rawdev_pmd.h.

   typedef int(* rawdev_reset_t) (struct rte_rawdev *dev)
       Reset a configured device.

       Parameters
	   dev Raw device pointer

       Returns
	   0 for success !0 for	failure

       Definition at line 233 of file rte_rawdev_pmd.h.

   typedef  int(*  rawdev_queue_conf_get_t)  (struct rte_rawdev	*dev, uint16_t
       queue_id, rte_rawdev_obj_t queue_conf, size_t queue_conf_size)
       Retrieve	the current raw	queue configuration.

       Parameters
	   dev Raw device pointer
	   queue_id Raw	device queue index
	   queue_conf Raw device queue configuration structure
	   queue_conf_size Size	of the memory allocated	for the	configuration

       Returns
	   Returns 0 on	success, negative errno	on failure

       Definition at line 250 of file rte_rawdev_pmd.h.

   typedef  int(*  rawdev_queue_setup_t)  (struct  rte_rawdev  *dev,  uint16_t
       queue_id, rte_rawdev_obj_t queue_conf, size_t queue_conf_size)
       Setup an	raw queue.

       Parameters
	   dev Raw device pointer
	   queue_id Rawqueue index
	   queue_conf Rawqueue configuration structure
	   queue_conf_size Size	of the memory allocated	for the	configuration

       Returns
	   Returns 0 on	success.

       Definition at line 270 of file rte_rawdev_pmd.h.

   typedef  int(*  rawdev_queue_release_t)  (struct  rte_rawdev	*dev, uint16_t
       queue_id)
       Release resources allocated by given raw	queue.

       Parameters
	   dev Raw device pointer
	   queue_id Raw	queue index

       Definition at line 283 of file rte_rawdev_pmd.h.

   typedef uint16_t(* rawdev_queue_count_t) (struct rte_rawdev *dev)
       Get the count of	number of queues configured on this device.

       Another	way  to	 fetch	this  information  is  to  fetch  the	device
       configuration.  But, that assumes that the device configuration managed
       by the driver has that kind of information.

       This function helps in getting queue count supported, independently. It
       can help	in cases where iterator	needs to be implemented.

       Parameters
	   dev Raw device pointer

       Returns
	   Number of queues; 0 is assumed to be	a valid	response.

       Definition at line 301 of file rte_rawdev_pmd.h.

   typedef  int(*  rawdev_enqueue_bufs_t)  (struct  rte_rawdev	*dev,	struct
       rte_rawdev_buf **buffers, unsigned int count, rte_rawdev_obj_t context)

       Enqueue an array	of raw buffers to the device.

       Buffer  being  used is opaque - it can be obtained from mempool or from
       any other source. Interpretation	of buffer is responsibility of driver.

       Parameters
	   dev Raw device pointer
	   buffers array of buffers
	   count number	of buffers passed
	   context an opaque object representing  context  of  the  call;  for
	   example,  an	 application  can pass information about the queues on
	   which enqueue needs to be done. Or, the enqueue operation might  be
	   passed  reference  to  an object containing a callback (agreed upon
	   between application and driver).

       Returns
	   >=0 Count of	buffers	successfully enqueued (0: no buffers enqueued)
	   <0 Error count in case of error

       Definition at line 325 of file rte_rawdev_pmd.h.

   typedef  int(*  rawdev_dequeue_bufs_t)  (struct  rte_rawdev	*dev,	struct
       rte_rawdev_buf **buffers, unsigned int count, rte_rawdev_obj_t context)

       Dequeue an array	of raw buffers from the	device.

       Parameters
	   dev Raw device pointer
	   buffers array of buffers
	   count Max buffers expected to be dequeued
	   context an opaque object representing context of the	call. Based on
	   this	 object, the application and driver can	coordinate for dequeue
	   operation involving	agreed	upon  semantics.  For  example,	 queue
	   information/id on which Dequeue needs to be performed.

       Returns
	   >0,	~0:  Count of buffers returned <0: Error Whether short dequeue
	   is success or failure is decided between app	and driver.

       Definition at line 350 of file rte_rawdev_pmd.h.

   typedef int(* rawdev_dump_t)	(struct	rte_rawdev *dev, FILE *f)
       Dump internal information

       Parameters
	   dev Raw device pointer
	   f A pointer to a file for output

       Returns
	   0 for success, !0 Error

       Definition at line 366 of file rte_rawdev_pmd.h.

   typedef  int(*  rawdev_get_attr_t)  (struct	rte_rawdev  *dev,  const  char
       *attr_name, uint64_t *attr_value)
       Get  an	attribute  value  from	implementation.	Attribute is an	opaque
       handle agreed upon between application and PMD.

       Parameters
	   dev Raw device pointer
	   attr_name   Opaque	object	 representing	 an    attribute    in
	   implementation.
	   attr_value [out] Opaque response to the attribute value. In case of
	   error, this remains untouched. This is double pointer of void type.

       Returns
	   0  for  success  !0	Error; attr_value remains untouched in case of
	   error.

       Definition at line 383 of file rte_rawdev_pmd.h.

   typedef  int(*  rawdev_set_attr_t)  (struct	rte_rawdev  *dev,  const  char
       *attr_name, const uint64_t attr_value)
       Set  an	attribute  value.  Attribute  is  an opaque handle agreed upon
       between application and PMD.

       Parameters
	   dev Raw device pointer
	   attr_name   Opaque	object	 representing	 an    attribute    in
	   implementation.
	   attr_value Value of the attribute represented by attr_name

       Returns
	   0 for success !0 Error

       Definition at line 401 of file rte_rawdev_pmd.h.

   typedef  int(*  rawdev_xstats_get_t)	 (const	 struct	rte_rawdev *dev, const
       unsigned	int ids[], uint64_t values[], unsigned int n)
       Retrieve	a set of statistics from device. Note: Being a raw device, the
       stats are specific to the device	being implemented thus represented  as
       xstats.

       Parameters
	   dev Raw device pointer
	   ids The stat	ids to retrieve
	   values The returned stat values
	   n The number	of id values and entries in the	values array

       Returns
	   The number of stat values successfully filled into the values array

       Definition at line 421 of file rte_rawdev_pmd.h.

   typedef   int(*   rawdev_xstats_reset_t)  (struct  rte_rawdev  *dev,	 const
       uint32_t	ids[], uint32_t	nb_ids)
       Resets the statistic values in xstats for the device.

       Definition at line 427 of file rte_rawdev_pmd.h.

   typedef int(* rawdev_xstats_get_names_t)  (const  struct  rte_rawdev	 *dev,
       struct rte_rawdev_xstats_name *xstats_names, unsigned int size)
       Get names of extended stats of an raw device

       Parameters
	   dev Raw device pointer
	   xstats_names	Array of name values to	be filled in
	   size	Number of values in the	xstats_names array

       Returns
	   When	 size >= the number of stats, return the number	of stat	values
	   filled into the array. When size < the number of  available	stats,
	   return the number of	stats values, and do not fill in any data into
	   xstats_names.

       Definition at line 446 of file rte_rawdev_pmd.h.

   typedef  uint64_t(*	rawdev_xstats_get_by_name_t)  (const struct rte_rawdev
       *dev, const char	*name, unsigned	int *id)
       Get value of one	stats and optionally return its	id

       Parameters
	   dev Raw device pointer
	   name	The name of the	stat to	retrieve
	   id Pointer to an unsigned int where	we  store  the	stat-id.  This
	   pointer may be null if the id is not	required.

       Returns
	   The value of	the stat, or (uint64_t)-1 if the stat is not found. If
	   the	 stat  is  not	found,	the  id	 value	will  be  returned  as
	   (unsigned)-1, if id pointer is non-NULL

       Definition at line 465 of file rte_rawdev_pmd.h.

   typedef  int(*  rawdev_firmware_status_get_t)  (struct   rte_rawdev	 *dev,
       rte_rawdev_obj_t	status_info)
       Get firmware/device-stack status. Implementation	to allocate buffer for
       returning information.

       Parameters
	   dev Raw device pointer
	   status_info	 void	block	containing   device   specific	status
	   information

       Returns
	   0 for success, !0 for failure, with undefined value in status_info

       Definition at line 481 of file rte_rawdev_pmd.h.

   typedef  int(*  rawdev_firmware_version_get_t)  (struct  rte_rawdev	 *dev,
       rte_rawdev_obj_t	version_info)
       Get firmware version information

       Parameters
	   dev Raw device pointer
	   version_info	void pointer to	version	information returned by	device

       Returns
	   0 for success, !0 for failure, with undefined value in version_info

       Definition at line 495 of file rte_rawdev_pmd.h.

   typedef    int(*    rawdev_firmware_load_t)	  (struct   rte_rawdev	 *dev,
       rte_rawdev_obj_t	firmware_buf)
       Load firmware from a buffer (DMA'able)

       Parameters
	   dev Raw device pointer
	   firmware_buf	Pointer	to firmware image

       Returns
	   >0, ~0: for successful load <0: for failure

       See also
	   Application	 may   use   firmware_version_get   for	  ascertaining
	   successful load

       Definition at line 512 of file rte_rawdev_pmd.h.

   typedef int(* rawdev_firmware_unload_t) (struct rte_rawdev *dev)
       Unload firmware

       Parameters
	   dev Raw device pointer

       Returns
	   >0, ~0 for successful unloading <0 for failure in unloading

       Note:	 Application	can    use    the    firmware_status_get    or
       firmware_version_get to get result of unload.

       Definition at line 527 of file rte_rawdev_pmd.h.

   typedef int(* rawdev_selftest_t) (uint16_t dev_id)
       Start rawdev selftest

       Returns
	   Return 0 on success

       Definition at line 535 of file rte_rawdev_pmd.h.

Function Documentation
   static struct rte_rawdev * rte_rawdev_pmd_get_named_dev (const char * name)
       [inline],  [static]
       The pool	of rte_rawdev structures. Get the rte_rawdev structure	device
       pointer for the named device.

       Parameters
	   name	device name to select the device structure.

       Returns

	    The rte_rawdev structure pointer for the given device ID.

       Definition at line 87 of	file rte_rawdev_pmd.h.

   static   struct   rte_rawdev	  *  rte_rawdev_pmd_get_dev  (uint8_t  dev_id)
       [inline],  [static]
       Get the rte_rawdev structure device pointer for given device ID.

       Parameters
	   dev_id raw device index.

       Returns

	    The rte_rawdev structure pointer for the given device ID.

       Definition at line 115 of file rte_rawdev_pmd.h.

   static  unsigned  rte_rawdev_pmd_is_valid_dev  (uint8_t  dev_id)  [inline],
       [static]
       Validate	if the raw device index	is a valid attached raw	device.

       Parameters
	   dev_id raw device index.

       Returns

	    If	the device index is valid (1) or not (0).

       Definition at line 139 of file rte_rawdev_pmd.h.

   struct  rte_rawdev  *  rte_rawdev_pmd_allocate  (const  char	* name,	size_t
       dev_private_size, int socket_id)
       Allocates a new rawdev slot for an raw device and returns  the  pointer
       to that slot for	the driver to use.

       Parameters
	   name	Unique identifier name for each	device
	   dev_private_size  Size  of  private	data  memory  allocated	within
	   rte_rawdev object. Set to 0 to disable internal  memory  allocation
	   and allow for self-allocation.
	   socket_id Socket to allocate	resources on.

       Returns

	    Slot in the rte_dev_devices array for a new device;

   int rte_rawdev_pmd_release (struct rte_rawdev * rawdev)
       Release the specified rawdev device.

       Parameters
	   rawdev  The	rawdev	pointer	 is  the  address  of  the  rte_rawdev
	   structure.

       Returns

	    0 on success, negative on error

   struct  rte_rawdev  *  rte_rawdev_pmd_init  (const  char  *	name,	size_t
       dev_private_size, int socket_id)
       Creates a new raw device	and returns the	pointer	to that	device.

       Parameters
	   name	Pointer	to a character array containing	name of	the device
	   dev_private_size Size of raw	PMDs private data
	   socket_id Socket to allocate	resources on.

       Returns

	    Raw device	pointer	if device is successfully created.

	    NULL if device cannot be created.

   int rte_rawdev_pmd_uninit (const char * name)
       Destroy a raw device

       Parameters
	   name	Name of	the device

       Returns

	    0 on success, negative on error

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

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

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

home | help