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

  
 
  

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_de-
     vargs 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 Aug 27 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_remove&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help