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.