# DPDK Virtual Devices

DPDK provides drivers for both physical and virtual devices. Physical DPDK devices are added to OVS by specifying a valid PCI address in `dpdk-devargs`. Virtual DPDK devices which do not have PCI addresses can be added using a different format for `dpdk-devargs`.

Important

To use any DPDK-backed interface, you must ensure your bridge is configured correctly. For more information, refer to DPDK Bridges.

Note

Not all DPDK virtual PMD drivers have been tested and verified to work.

New in version 2.7.0.

## Quick Example

To add a virtual `dpdk` devices, the `dpdk-devargs` argument should be of the format `eth_<driver_name><x>`, where `x`’ is a unique identifier of your choice for the given port. For example to add a `dpdk` port that uses the `null` DPDK PMD driver, run:

    $ ovs-vsctl add-port br0 null0 -- set Interface null0 type=dpdk \
        options:dpdk-devargs=eth_null0

Similarly, to add a `dpdk` port that uses the `af_packet` DPDK PMD driver, run:

    $ ovs-vsctl add-port br0 myeth0 -- set Interface myeth0 type=dpdk \
        options:dpdk-devargs=eth_af_packet0,iface=eth0

More information on the different types of virtual DPDK PMDs can be found in the DPDK documentation.