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

FreeBSD Manual Pages

  
 
  

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

NAME
       rte_devargs.h

SYNOPSIS
       #include	<stdio.h>
       #include	<rte_dev.h>

   Data	Structures
       struct rte_devargs

   Macros
       #define RTE_DEVARGS_KEY_BUS   'bus'
       #define RTE_DEVARGS_KEY_CLASS   'class'
       #define RTE_DEVARGS_KEY_DRIVER	'driver'
       #define RTE_EAL_DEVARGS_FOREACH(busname,	 da)

   Enumerations
       enum rte_devtype

   Functions
       int rte_devargs_parse (struct rte_devargs *da, const char *dev)
       int rte_devargs_parsef (struct rte_devargs *da, const char *format,...)
	   __rte_format_printf(2
       int void	rte_devargs_reset (struct rte_devargs *da)
       int rte_devargs_insert (struct rte_devargs **da)
       int rte_devargs_add (enum rte_devtype devtype, const char *devargs_str)
       int rte_devargs_remove (struct rte_devargs *devargs)
       unsigned	int rte_devargs_type_count (enum rte_devtype devtype)
       void rte_devargs_dump (FILE *f)
       struct rte_devargs * rte_devargs_next (const char *busname, const
	   struct rte_devargs *start)

Detailed Description
       RTE devargs: list of devices and	their user arguments

       This file stores	a list of devices and their arguments given by the
       user when a DPDK	application is started.	These devices can be PCI
       devices or virtual devices. These devices are stored at startup in a
       list of rte_devargs structures.

       Definition in file rte_devargs.h.

Macro Definition Documentation
   #define RTE_DEVARGS_KEY_BUS	 'bus'
       Bus type	key in global devargs syntax.

       Legacy devargs parser doesn't use this key as bus type is resolved as
       first optional value separated by ':'.

       Definition at line 35 of	file rte_devargs.h.

   #define RTE_DEVARGS_KEY_CLASS   'class'
       Class type key in global	devargs	syntax.

       Legacy devargs parser doesn't parse class type. PMD is encouraged to
       use this	key to resolve class type.

       Definition at line 43 of	file rte_devargs.h.

   #define RTE_DEVARGS_KEY_DRIVER   'driver'
       Driver type key in global devargs syntax.

       Legacy devargs parser doesn't parse driver type.	PMD is encouraged to
       use this	key to resolve driver type.

       Definition at line 51 of	file rte_devargs.h.

   #define RTE_EAL_DEVARGS_FOREACH(busname, da)
       Value:.PP
	   for (da = rte_devargs_next(busname, NULL); \
		da != NULL; \
		da = rte_devargs_next(busname, da)) \
       Iterate over all	rte_devargs for	a specific bus.

       Definition at line 261 of file rte_devargs.h.

Enumeration Type Documentation
   enum	rte_devtype
       Type of generic device

       Definition at line 56 of	file rte_devargs.h.

Function Documentation
   int rte_devargs_parse (struct rte_devargs * da, const char *	dev)
       Parse a device string.

       Verify that a bus is capable of handling	the device passed in argument.
       Store which bus will handle the device, its name	and the	eventual
       device parameters.

       The syntax is:

       bus:device_identifier,arg1=val1,arg2=val2

	where 'bus:' is	the bus	name followed by any character separator. The
       bus name	is optional. If	no bus name is specified, each bus will
       attempt to recognize the	device identifier. The first one to succeed
       will be used.

       Examples:

       pci:0000:05.00.0,arg=val
       05.00.0,arg=val
       vdev:net_ring0

       Parameters
	   da The devargs structure holding the	device information.
	   dev String describing a device.

       Returns

	    0 on success.

	    Negative errno on error.

   int rte_devargs_parsef (struct rte_devargs *	da, const char * format,  ...)

       Parse a device string.

       Verify that a bus is capable of handling	the device passed in argument.
       Store  which  bus  will	handle	the  device, its name and the eventual
       device parameters.

       The device string is built with a printf-like syntax.

       The syntax is:

       bus:device_identifier,arg1=val1,arg2=val2

	where 'bus:' is	the bus	name followed by any character separator.  The
       bus  name  is  optional.	 If  no	 bus  name is specified, each bus will
       attempt to recognize the	device identifier. The first  one  to  succeed
       will be used.

       Examples:

       pci:0000:05.00.0,arg=val
       05.00.0,arg=val
       vdev:net_ring0

       Parameters
	   da The devargs structure holding the	device information.
	   format Format string	describing a device.

       Returns

	    0 on success.

	    Negative errno on error.

   int void rte_devargs_reset (struct rte_devargs * da)
       Free resources in devargs.

       Parameters
	   da The devargs structure holding the	device information.

   int rte_devargs_insert (struct rte_devargs ** da)
       Insert an rte_devargs in	the global list.

       Parameters
	   da  The  devargs  structure	to  insert.  If	a devargs for the same
	   device is already inserted, it will be  updated  and	 returned.  It
	   means *da pointer can change.

       Returns

	    0 on success

	    Negative on error.

   int rte_devargs_add (enum rte_devtype devtype, const	char * devargs_str)
       Add  a  device  to  the	user  device  list See rte_devargs_parse() for
       details.

       Parameters
	   devtype The type of the device.
	   devargs_str The arguments as	given by the user.

       Returns

	    0 on success

	    A negative	value on error

   int rte_devargs_remove (struct rte_devargs *	devargs)
       Remove a	device from the	user device list. Its resources	are freed.  If
       the devargs cannot be found, nothing happens.

       Parameters
	   devargs The instance	or a copy of devargs to	remove.

       Returns
	   0  on  success.  <0	on error. >0 if	the devargs was	not within the
	   user	device list.

   unsigned int	rte_devargs_type_count (enum rte_devtype devtype)
       Count the number	of user	devices	of a specified type

       Parameters
	   devtype The type of the devices to counted.

       Returns
	   The number of devices.

   void	rte_devargs_dump (FILE * f)
       This function dumps the list of user device and their arguments.

       Parameters
	   f A pointer to a file for output

   struct rte_devargs *	rte_devargs_next (const	char * busname,	 const	struct
       rte_devargs * start)
       Find next rte_devargs matching the provided bus name.

       Parameters
	   busname  Limit  the	iteration to devargs related to	buses matching
	   this	name. Will return any next rte_devargs if NULL.
	   start Starting iteration point. The iteration  will	start  at  the
	   first rte_devargs if	NULL.

       Returns
	   Next	rte_devargs entry matching the requested bus, NULL if there is
	   none.

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

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

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

home | help