DPDK  17.02.1
Data Structures | Enumerations | Functions | Variables
rte_devargs.h File Reference
#include <stdio.h>
#include <sys/queue.h>
#include <rte_pci.h>

Go to the source code of this file.

Data Structures

struct  rte_devargs

Enumerations

enum  rte_devtype

Functions

 TAILQ_HEAD (rte_devargs_list, rte_devargs)
int rte_eal_parse_devargs_str (const char *devargs_str, char **drvname, char **drvargs)
int rte_eal_devargs_add (enum rte_devtype devtype, const char *devargs_str)
unsigned int rte_eal_devargs_type_count (enum rte_devtype devtype)
void rte_eal_devargs_dump (FILE *f)

Variables

struct rte_devargs_list devargs_list

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

Type of generic device

Definition at line 58 of file rte_devargs.h.

Function Documentation

TAILQ_HEAD ( rte_devargs_list  ,
rte_devargs   
)

user device double-linked queue type definition

int rte_eal_parse_devargs_str ( const char *  devargs_str,
char **  drvname,
char **  drvargs 
)

Parse a devargs string.

For PCI devices, the format of arguments string is "PCI_ADDR" or "PCI_ADDR,key=val,key2=val2,...". Examples: "08:00.1", "0000:5:00.0", "04:00.0,arg=val".

For virtual devices, the format of arguments string is "DRIVER_NAME*" or "DRIVER_NAME*,key=val,key2=val2,...". Examples: "net_ring", "net_ring0", "net_pmdAnything,arg=0:arg2=1".

The function parses the arguments string to get driver name and driver arguments.

Parameters
devargs_strThe arguments as given by the user.
drvnameThe pointer to the string to store parsed driver name.
drvargsThe pointer to the string to store parsed driver arguments.
Returns
  • 0 on success
  • A negative value on error
int rte_eal_devargs_add ( enum rte_devtype  devtype,
const char *  devargs_str 
)

Add a device to the user device list

For PCI devices, the format of arguments string is "PCI_ADDR" or "PCI_ADDR,key=val,key2=val2,...". Examples: "08:00.1", "0000:5:00.0", "04:00.0,arg=val".

For virtual devices, the format of arguments string is "DRIVER_NAME*" or "DRIVER_NAME*,key=val,key2=val2,...". Examples: "net_ring", "net_ring0", "net_pmdAnything,arg=0:arg2=1". The validity of the driver name is not checked by this function, it is done when probing the drivers.

Parameters
devtypeThe type of the device.
devargs_strThe arguments as given by the user.
Returns
  • 0 on success
  • A negative value on error
unsigned int rte_eal_devargs_type_count ( enum rte_devtype  devtype)

Count the number of user devices of a specified type

Parameters
devtypeThe type of the devices to counted.
Returns
The number of devices.
void rte_eal_devargs_dump ( FILE *  f)

This function dumps the list of user device and their arguments.

Parameters
fA pointer to a file for output
Examples:
examples/bond/main.c.

Variable Documentation

struct rte_devargs_list devargs_list

Global list of user devices