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

FreeBSD Manual Pages

  
 
  

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

NAME
       rte_dev.h

SYNOPSIS
       #include	<stdio.h>
       #include	<rte_config.h>
       #include	<rte_common.h>
       #include	<rte_log.h>

   Data	Structures
       struct rte_mem_resource
       struct rte_dev_iterator

   Typedefs
       typedef int(* rte_dev_cmp_t) (const struct rte_device *dev, const void
	   *data)
       typedef void *(*	rte_dev_iterate_t) (const void *start, const char
	   *devstr, const struct rte_dev_iterator *it)

   Enumerations
       enum rte_dev_event_type { RTE_DEV_EVENT_ADD, RTE_DEV_EVENT_REMOVE,
	   RTE_DEV_EVENT_MAX }
       enum rte_dev_policy

   Functions
       const char * rte_driver_name (const struct rte_driver *driver)
       const struct rte_bus * rte_dev_bus (const struct	rte_device *dev)
       const char * rte_dev_bus_info (const struct rte_device *dev)
       const struct rte_devargs	* rte_dev_devargs (const struct	rte_device
	   *dev)
       const struct rte_driver * rte_dev_driver	(const struct rte_device *dev)
       const char * rte_dev_name (const	struct rte_device *dev)
       int rte_dev_numa_node (const struct rte_device *dev)
       int rte_dev_is_probed (const struct rte_device *dev)
       int rte_eal_hotplug_add (const char *busname, const char	*devname,
	   const char *drvargs)
       int rte_dev_probe (const	char *devargs)
       int rte_eal_hotplug_remove (const char *busname,	const char *devname)
       int rte_dev_remove (struct rte_device *dev)
       int rte_dev_iterator_init (struct rte_dev_iterator *it, const char
	   *str)
       struct rte_device * rte_dev_iterator_next (struct rte_dev_iterator *it)
       int rte_dev_event_callback_register (const char *device_name,
	   rte_dev_event_cb_fn cb_fn, void *cb_arg)
       int rte_dev_event_callback_unregister (const char *device_name,
	   rte_dev_event_cb_fn cb_fn, void *cb_arg)
       void rte_dev_event_callback_process (const char *device_name, enum
	   rte_dev_event_type event)
       int rte_dev_event_monitor_start (void)
       int rte_dev_event_monitor_stop (void)
       int rte_dev_hotplug_handle_enable (void)
       int rte_dev_hotplug_handle_disable (void)
       int rte_dev_dma_map (struct rte_device *dev, void *addr,	uint64_t iova,
	   size_t len)
       int rte_dev_dma_unmap (struct rte_device	*dev, void *addr, uint64_t
	   iova, size_t	len)

Detailed Description
       RTE PMD Registration Interface

       This file manages the list of device drivers.

       Definition in file rte_dev.h.

Typedef	Documentation
   typedef int(* rte_dev_cmp_t)	(const struct rte_device *dev, const void
       *data)
       Device comparison function.

       This type of function is	used to	compare	an rte_device with arbitrary
       data.

       Parameters
	   dev Device handle.
	   data	Data to	compare	against. The type of this parameter is
	   determined by the kind of comparison	performed by the function.

       Returns
	   0 if	the device matches the data. !0	if the device does not match.
	   <0 if ordering is possible and the device is	lower than the data.
	   >0 if ordering is possible and the device is	greater	than the data.

       Definition at line 233 of file rte_dev.h.

   typedef void	*(* rte_dev_iterate_t) (const void *start, const char *devstr,
       const struct rte_dev_iterator *it)
       Device iteration	function.

       Find the	next device matching properties	passed in parameters. The
       function	takes an additional start parameter, that is used as starting
       context when relevant.

       The function returns the	current	element	in the iteration. This return
       value will potentially be used as a start parameter in subsequent calls
       to the function.

       The additional iterator parameter is only there if a specific
       implementation needs additional context.	It must	not be modified	by the
       iteration function itself.

       Parameters
	   start Starting iteration context.
	   devstr Device description string.
	   it Device iterator.

       Returns
	   The address of the current element matching the device description
	   string.

       Definition at line 278 of file rte_dev.h.

Enumeration Type Documentation
   enum	rte_dev_event_type
       The device event	type.

       Enumerator

       RTE_DEV_EVENT_ADD
	      device being added

       RTE_DEV_EVENT_REMOVE
	      device being removed

       RTE_DEV_EVENT_MAX
	      max value	of this	enum

       Definition at line 34 of	file rte_dev.h.

   enum	rte_dev_policy
       Device policies.

       Definition at line 47 of	file rte_dev.h.

Function Documentation
   const char *	rte_driver_name	(const struct rte_driver * driver)
       Retrieve	a driver name.

       Parameters
	   driver A pointer to a driver	structure.

       Returns
	   A pointer to	the driver name	string.

   const struct	rte_bus	* rte_dev_bus (const struct rte_device * dev)
       Retrieve	a device bus.

       Parameters
	   dev A pointer to a device structure.

       Returns
	   A pointer to	this device bus.

   const char *	rte_dev_bus_info (const	struct rte_device * dev)
       Retrieve	bus specific information for a device.

       Parameters
	   dev A pointer to a device structure.

       Returns
	   A string describing this device or NULL if none is available.

   const struct	rte_devargs * rte_dev_devargs (const struct rte_device * dev)
       Retrieve	a device arguments.

       Parameters
	   dev A pointer to a device structure.

       Returns
	   A pointer to	this device devargs.

   const struct	rte_driver * rte_dev_driver (const struct rte_device * dev)
       Retrieve	a device driver.

       Parameters
	   dev A pointer to a device structure.

       Returns
	   A pointer to	this device driver.

   const char *	rte_dev_name (const struct rte_device *	dev)
       Retrieve	a device name.

       Parameters
	   dev A pointer to a device structure.

       Returns
	   A pointer to	this device name.

   int rte_dev_numa_node (const	struct rte_device * dev)
       Retrieve	a device numa node.

       Parameters
	   dev A pointer to a device structure.

       Returns
	   A pointer to	this device numa node.

   int rte_dev_is_probed (const	struct rte_device * dev)
       Query status of a device.

       Parameters
	   dev Generic device pointer.

       Returns
	   (int)true if	already	probed successfully, 0 otherwise.

   int	rte_eal_hotplug_add (const char	* busname, const char *	devname, const
       char * drvargs)
       Hotplug add a given device to a specific	bus.

       In multi-process, it will request  other	 processes  to	add  the  same
       device. A failure, in any process, will rollback	the action

       Parameters
	   busname The bus name	the device is added to.
	   devname  The	 device	 name.	Based  on  this	 device	name, eal will
	   identify a driver capable of	handling it and	pass it	to the	driver
	   probing function.
	   drvargs Device arguments to be passed to the	driver.

       Returns
	   0 on	success, negative on error.

   int rte_dev_probe (const char * devargs)
       Add matching devices.

       In  multi-process,  it  will  request  other  processes to add the same
       device. A failure, in any process, will rollback	the action

       Parameters
	   devargs  Device  arguments  including   bus,	  class	  and	driver
	   properties.

       Returns
	   0 on	success, negative on error.

   int rte_eal_hotplug_remove (const char * busname, const char	* devname)
       Hotplug remove a	given device from a specific bus.

       In  multi-process,  it  will request other processes to remove the same
       device. A failure, in any process, will rollback	the action

       Parameters
	   busname The bus name	the device is removed from.
	   devname The device name being removed.

       Returns
	   0 on	success, negative on error.

   int rte_dev_remove (struct rte_device * dev)
       Remove one device.

       In multi-process, it will request other processes to  remove  the  same
       device. A failure, in any process, will rollback	the action

       Parameters
	   dev Data structure of the device to remove.

       Returns
	   0 on	success, negative on error.

   int rte_dev_iterator_init (struct rte_dev_iterator *	it, const char * str)
       Initializes a device iterator.

       This  iterator  allows accessing	a list of devices matching a criteria.
       The device matching is made  among  all	buses  and  classes  currently
       registered, filtered by the device description given as parameter.

       This  function  will  not  allocate  any	memory.	It is safe to stop the
       iteration at any	moment and let the iterator go out of context.

       Parameters
	   it Device iterator handle.
	   str Device description string.

       Returns
	   0 on	successful initialization. <0 on error.

   struct rte_device * rte_dev_iterator_next (struct rte_dev_iterator *	it)
       Iterates	on a device iterator.

       Generates a new rte_device handle corresponding to the next element  in
       the list	described in comprehension by the iterator.

       The next	object is returned, and	the iterator is	updated.

       Parameters
	   it Device iterator handle.

       Returns
	   An rte_device handle	if found. NULL if an error occurred (rte_errno
	   is set). NULL if no device could be found (rte_errno	is not set).

   int	  rte_dev_event_callback_register    (const    char   *	  device_name,
       rte_dev_event_cb_fn cb_fn, void * cb_arg)
       It registers the	callback for the specific device.  Multiple  callbacks
       can be registered at the	same time.

       Parameters
	   device_name	The  device name, that is the param name of the	struct
	   rte_device, null value means	for all	devices.
	   cb_fn callback address.
	   cb_arg address of parameter for callback.

       Returns

	    On	success, zero.

	    On	failure, a negative value.

   int	 rte_dev_event_callback_unregister   (const   char   *	  device_name,
       rte_dev_event_cb_fn cb_fn, void * cb_arg)
       It unregisters the callback according to	the specified device.

       Parameters
	   device_name	The  device name, that is the param name of the	struct
	   rte_device, null value means	for all	devices	and their callbacks.
	   cb_fn callback address.
	   cb_arg address of parameter	for  callback,	(void  *)-1  means  to
	   remove all registered which has the same callback address.

       Returns

	    On	success, return	the number of callback entities	removed.

	    On	failure, a negative value.

   void	  rte_dev_event_callback_process   (const  char	 *  device_name,  enum
       rte_dev_event_type event)
       Executes	all the	user application registered callbacks for the specific
       device.

       Parameters
	   device_name The device name.
	   event the device event type.

   int rte_dev_event_monitor_start (void)
       Start the device	event monitoring.

       Returns

	    On	success, zero.

	    On	failure, a negative value.

   int rte_dev_event_monitor_stop (void)
       Stop the	device event monitoring.

       Returns

	    On	success, zero.

	    On	failure, a negative value.

   int rte_dev_hotplug_handle_enable (void)
       Enable hotplug handling for devices.

       Returns

	    On	success, zero.

	    On	failure, a negative value.

   int rte_dev_hotplug_handle_disable (void)
       Disable hotplug handling	for devices.

       Returns

	    On	success, zero.

	    On	failure, a negative value.

   int rte_dev_dma_map (struct rte_device * dev, void *	addr,  uint64_t	 iova,
       size_t len)
       Device  level  DMA  map	function.  After a successful call, the	memory
       segment will be mapped to the given device.

       Note
	   : Memory must be registered in advance using	rte_extmem_* APIs.

       Parameters
	   dev Device pointer.
	   addr	Virtual	address	to map.
	   iova	IOVA address to	map.
	   len Length of the memory segment being mapped.

       Returns
	   0 if	mapping	was successful.	Negative value and  rte_errno  is  set
	   otherwise.

   int rte_dev_dma_unmap (struct rte_device * dev, void	* addr,	uint64_t iova,
       size_t len)
       Device  level  DMA  unmap function. After a successful call, the	memory
       segment will no longer be accessible by the given device.

       Note
	   : Memory must be registered in advance using	rte_extmem_* APIs.

       Parameters
	   dev Device pointer.
	   addr	Virtual	address	to unmap.
	   iova	IOVA address to	unmap.
	   len Length of the memory segment being mapped.

       Returns
	   0 if	un-mapping was successful. Negative value and rte_errno	is set
	   otherwise.

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

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

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

home | help