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.
BSD nic_uio
BSD nic_uio module supported.
Linux VFIO
Works with vfio-pci kernel module.
Other kdrv
Kernel module other than above ones supported.
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

Table 3.3 Features availability in vDPA drivers
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    
in_order    
IOMMU platform    
packed   Y
proto mq   Y
proto log shmfd   Y
proto rarp    
proto reply ack    
proto host notifier   Y
proto pagefault    
BSD nic_uio    
Linux VFIO    
Other kdrv   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.