1. Overview of vDPA Drivers Features
This section explains the supported features that are listed in the table below.
- csum
 - Device can handle packets with partial checksum.
 - guest csum
 - Guest can handle packets with partial checksum.
 - mac
 - Device has given MAC address.
 - gso
 - Device can handle packets with any GSO type.
 - guest tso4
 - Guest can receive TSOv4.
 - guest tso6
 - Guest can receive TSOv6.
 - ecn
 - Device can receive TSO with ECN.
 - ufo
 - Device can receive UFO.
 - host tso4
 - Device can receive TSOv4.
 - host tso6
 - Device can receive TSOv6.
 - mrg rxbuf
 - Guest can merge receive buffers.
 - ctrl vq
 - Control channel is available.
 - ctrl rx
 - Control channel RX mode support.
 - any layout
 - Device can handle any descriptor layout.
 - guest announce
 - Guest can send gratuitous packets.
 - mq
 - Device supports Receive Flow Steering.
 - version 1
 - v1.0 compliant.
 - log all
 - Device can log all write descriptors (live migration).
 - indirect desc
 - Indirect buffer descriptors support.
 - event idx
 - Support for avail_idx and used_idx fields.
 - mtu
 - Host can advise the guest with its maximum supported MTU.
 - in_order
 - Device can use descriptors in ring order.
 - IOMMU platform
 - Device support IOMMU addresses.
 - packed
 - Device support packed virtio queues.
 - proto mq
 - Support the number of queues query.
 - proto log shmfd
 - Guest support setting log base.
 - proto rarp
 - Host can broadcast a fake RARP after live migration.
 - proto reply ack
 - Host support requested operation status ack.
 - proto host notifier
 - Host can register memory region based host notifiers.
 - proto pagefault
 - Slave expose page-fault FD for migration process.
 - queue statistics
 - Support virtio queue statistics query.
 - FreeBSD
 - Support FreeBSD.
 - Linux
 - Support Linux.
 - ARMv7
 - Support armv7 architecture.
 - ARMv8
 - Support armv8a (64bit) architecture.
 - Power8
 - Support PowerPC architecture.
 - x86-32
 - Support 32bits x86 architecture.
 - x86-64
 - Support 64bits x86 architecture.
 - Usage doc
 - Documentation describes usage, In 
doc/guides/vdpadevs/. - Design doc
 - Documentation describes design. In 
doc/guides/vdpadevs/. - Perf doc
 - Documentation describes performance values, In 
doc/perf/. 
Note
Most of the features capabilities should be provided by the drivers via the
next vDPA operations: get_features and get_protocol_features.
3. Features Table
| Feature | i f c v f | m l x 5 | 
|---|---|---|
| csum | Y | |
| guest csum | Y | |
| mac | ||
| gso | ||
| guest tso4 | ||
| guest tso6 | ||
| ecn | ||
| ufo | ||
| host tso4 | Y | |
| host tso6 | Y | |
| mrg rxbuf | ||
| ctrl vq | ||
| ctrl rx | ||
| any layout | Y | |
| guest announce | Y | |
| mq | Y | |
| version 1 | Y | |
| log all | Y | |
| indirect desc | ||
| event idx | ||
| mtu | Y | |
| in_order | ||
| IOMMU platform | ||
| packed | Y | |
| proto mq | Y | |
| proto log shmfd | Y | |
| proto rarp | ||
| proto reply ack | ||
| proto host notifier | Y | |
| proto pagefault | ||
| queue statistics | Y | |
| FreeBSD | ||
| Linux | Y | |
| ARMv7 | ||
| ARMv8 | Y | |
| Power8 | Y | |
| x86-32 | Y | Y | 
| x86-64 | Y | Y | 
| Usage doc | Y | |
| Design doc | Y | |
| Perf doc | 
Note
Features marked with “P” are partially supported. Refer to the appropriate driver guide in the following sections for details.