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.
2. References
3. Features Table
| Feature | i f c v f | m l x 5 | s f c | 
|---|---|---|---|
| csum | Y | Y | |
| guest csum | Y | Y | |
| mac | |||
| gso | |||
| guest tso4 | |||
| guest tso6 | |||
| ecn | |||
| ufo | |||
| host tso4 | Y | Y | |
| host tso6 | Y | Y | |
| mrg rxbuf | Y | ||
| ctrl vq | |||
| ctrl rx | |||
| any layout | Y | Y | |
| guest announce | Y | ||
| mq | Y | ||
| version 1 | Y | Y | |
| log all | Y | ||
| indirect desc | |||
| event idx | |||
| mtu | Y | ||
| in_order | Y | ||
| IOMMU platform | Y | ||
| packed | Y | ||
| proto mq | Y | ||
| proto log shmfd | Y | ||
| proto rarp | |||
| proto reply ack | |||
| proto host notifier | Y | Y | |
| proto pagefault | |||
| queue statistics | Y | ||
| FreeBSD | |||
| Linux | Y | Y | |
| ARMv7 | |||
| ARMv8 | Y | ||
| Power8 | Y | ||
| x86-32 | Y | Y | |
| x86-64 | Y | Y | Y | 
| Usage doc | Y | 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.