logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Author

       Generated automatically by Doxygen for DPDK from the source code.

DPDK                                             Version 24.11.2                                rte_devargs.h(3)

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.

Enumeration Type Documentation

enumrte_devtype
       Type of generic device

       Definition at line 56 of file rte_devargs.h.

Function Documentation

intrte_devargs_parse(structrte_devargs*da,constchar*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

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

       Returns

           • 0 on success.

           • Negative errno on error.

   intrte_devargs_parsef(structrte_devargs*da,constchar*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

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

       Returns

           • 0 on success.

           • Negative errno on error.

   intvoidrte_devargs_reset(structrte_devargs*da)
       Free resources in devargs.

       Parametersda The devargs structure holding the device information.

   intrte_devargs_insert(structrte_devargs**da)
       Insert an rte_devargs in the global list.

       Parametersda 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.

   intrte_devargs_add(enumrte_devtypedevtype,constchar*devargs_str)
       Add a device to the user device list See rte_devargs_parse() for details.

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

       Returns

           • 0 on success

           • A negative value on error

   intrte_devargs_remove(structrte_devargs*devargs)
       Remove  a  device  from  the  user  device list. Its resources are freed. If the devargs cannot be found,
       nothing happens.

       Parametersdevargs 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.

   unsignedintrte_devargs_type_count(enumrte_devtypedevtype)
       Count the number of user devices of a specified type

       Parametersdevtype The type of the devices to counted.

       Returns
           The number of devices.

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

       Parametersf A pointer to a file for output

   structrte_devargs*rte_devargs_next(constchar*busname,conststructrte_devargs*start)
       Find next rte_devargs matching the provided bus name.

       Parametersbusname 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.

Macro Definition Documentation

#defineRTE_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.

   #defineRTE_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.

   #defineRTE_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.

   #defineRTE_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.

Name

       rte_devargs.h

Synopsis

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

   DataStructures
       struct rte_devargsMacros
       #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_devtypeFunctions
       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)

See Also