|
DPDK
18.05.1
|
#include <stdio.h>#include <sys/queue.h>#include <rte_config.h>#include <rte_compat.h>#include <rte_log.h>Go to the source code of this file.
Data Structures | |
| struct | rte_mem_resource |
| struct | rte_driver |
| struct | rte_device |
Macros | |
| #define | RTE_PMD_REGISTER_KMOD_DEP(name, str) |
Typedefs | |
| typedef int(* | rte_dev_cmp_t )(const struct rte_device *dev, const void *data) |
Enumerations | |
| enum | rte_dev_event_type { RTE_DEV_EVENT_ADD, RTE_DEV_EVENT_REMOVE, RTE_DEV_EVENT_MAX } |
| enum | rte_kernel_driver |
| enum | rte_dev_policy |
Functions | |
| int | rte_eal_dev_attach (const char *name, const char *devargs) |
| int | rte_eal_dev_detach (struct rte_device *dev) |
| int __rte_experimental | rte_eal_hotplug_add (const char *busname, const char *devname, const char *devargs) |
| int __rte_experimental | rte_eal_hotplug_remove (const char *busname, const char *devname) |
| int __rte_experimental | rte_dev_event_callback_register (const char *device_name, rte_dev_event_cb_fn cb_fn, void *cb_arg) |
| int __rte_experimental | rte_dev_event_callback_unregister (const char *device_name, rte_dev_event_cb_fn cb_fn, void *cb_arg) |
| int __rte_experimental | rte_dev_event_monitor_start (void) |
| int __rte_experimental | rte_dev_event_monitor_stop (void) |
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:
| typedef int(* rte_dev_cmp_t)(const struct rte_device *dev, const void *data) |
Device comparison function.
This type of function is used to compare an rte_device with arbitrary data.
| dev | Device handle. |
| data | Data to compare against. The type of this parameter is determined by the kind of comparison performed by the function. |
| enum rte_dev_event_type |
| enum rte_kernel_driver |
| enum rte_dev_policy |
| 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 | ( | struct rte_device * | dev | ) |
Detach a device from its driver.
| dev | A pointer to a rte_device structure. |
| int __rte_experimental rte_eal_hotplug_add | ( | const char * | busname, |
| const char * | devname, | ||
| const char * | devargs | ||
| ) |
Hotplug add a given device to a specific bus.
| busname | The bus name the device is added to. |
| devname | The device name. 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_experimental rte_eal_hotplug_remove | ( | const char * | busname, |
| const char * | devname | ||
| ) |
Hotplug remove a given device from a specific bus.
| busname | The bus name the device is removed from. |
| devname | The device name being removed. |
| int __rte_experimental rte_dev_event_callback_register | ( | const char * | device_name, |
| rte_dev_event_cb_fn | cb_fn, | ||
| void * | cb_arg | ||
| ) |
It registers the callback for the specific device. Multiple callbacks cal be registered at the same time.
| device_name | The device name, that is the param name of the struct rte_device, null value means for all devices. |
| cb_fn | callback address. |
| cb_arg | address of parameter for callback. |
| int __rte_experimental rte_dev_event_callback_unregister | ( | const char * | device_name, |
| rte_dev_event_cb_fn | cb_fn, | ||
| void * | cb_arg | ||
| ) |
It unregisters the callback according to the specified device.
| device_name | The device name, that is the param name of the struct rte_device, null value means for all devices and their callbacks. |
| cb_fn | callback address. |
| cb_arg | address of parameter for callback, (void *)-1 means to remove all registered which has the same callback address. |
| int __rte_experimental rte_dev_event_monitor_start | ( | void | ) |
Start the device event monitoring.
| int __rte_experimental rte_dev_event_monitor_stop | ( | void | ) |
Stop the device event monitoring.
1.8.1.2