DPDK
17.02.1
|
Go to the source code of this file.
Data Structures | |
struct | rte_mem_resource |
struct | rte_device |
struct | rte_driver |
Macros | |
#define | RTE_PMD_REGISTER_KMOD_DEP(name, str) |
Functions | |
TAILQ_HEAD (rte_driver_list, rte_driver) | |
TAILQ_HEAD (rte_device_list, rte_device) | |
void | rte_eal_device_insert (struct rte_device *dev) |
void | rte_eal_device_remove (struct rte_device *dev) |
void | rte_eal_driver_register (struct rte_driver *driver) |
void | rte_eal_driver_unregister (struct rte_driver *driver) |
int | rte_eal_dev_init (void) |
int | rte_eal_vdev_init (const char *name, const char *args) |
int | rte_eal_vdev_uninit (const char *name) |
int | rte_eal_dev_attach (const char *name, const char *devargs) |
int | rte_eal_dev_detach (const char *name) |
RTE PMD Driver Registration Interface
This file manages the list of device drivers.
Definition in file rte_dev.h.
#define RTE_PMD_REGISTER_KMOD_DEP | ( | name, | |
str | |||
) |
Advertise the list of kernel modules required to run this driver
This string lists the kernel modules required for the devices associated to a PMD. The format of each line of the string is: "<device-pattern> <kmod-expression>".
The possible formats for the device pattern are: "*" all devices supported by this driver "pci:*" all PCI devices supported by this driver "pci:v8086:d*:sv*:sd*" all PCI devices supported by this driver whose vendor id is 0x8086.
The format of the kernel modules list is a parenthesed expression containing logical-and (&) and logical-or (|).
The device pattern and the kmod expression are separated by a space.
Example:
TAILQ_HEAD | ( | rte_driver_list | , |
rte_driver | |||
) |
Double linked list of device drivers.
TAILQ_HEAD | ( | rte_device_list | , |
rte_device | |||
) |
Double linked list of devices.
void rte_eal_device_insert | ( | struct rte_device * | dev | ) |
Insert a device detected by a bus scanning.
dev | A pointer to a rte_device structure describing the detected device. |
void rte_eal_device_remove | ( | struct rte_device * | dev | ) |
Remove a device (e.g. when being unplugged).
dev | A pointer to a rte_device structure describing the device to be removed. |
void rte_eal_driver_register | ( | struct rte_driver * | driver | ) |
Register a device driver.
driver | A pointer to a rte_dev structure describing the driver to be registered. |
void rte_eal_driver_unregister | ( | struct rte_driver * | driver | ) |
Unregister a device driver.
driver | A pointer to a rte_dev structure describing the driver to be unregistered. |
int rte_eal_dev_init | ( | void | ) |
Initalize all the registered drivers in this process
int rte_eal_vdev_init | ( | const char * | name, |
const char * | args | ||
) |
Initialize a driver specified by name.
name | The pointer to a driver name to be initialized. |
args | The pointer to arguments used by driver initialization. |
int rte_eal_vdev_uninit | ( | const char * | name | ) |
Uninitalize a driver specified by name.
name | The pointer to a driver name to be initialized. |
int rte_eal_dev_attach | ( | const char * | name, |
const char * | devargs | ||
) |
Attach a device to a registered driver.
name | The device name, that refers to a pci device (or some private way of designating a vdev device). Based on this device name, eal will identify a driver capable of handling it and pass it to the driver probing function. |
devargs | Device arguments to be passed to the driver. |
int rte_eal_dev_detach | ( | const char * | name | ) |
Detach a device from its driver.
name | Same description as for rte_eal_dev_attach(). Here, eal will call the driver detaching function. |