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

Table 3.3 Features availability in vDPA drivers
Feature i f c v f m l x 5 n f p 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 Y
ARMv7        
ARMv8   Y    
Power8   Y    
x86-32 Y Y    
x86-64 Y 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.