1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright 2019 Mellanox Technologies, Ltd 3 4Overview of vDPA Drivers Features 5================================= 6 7This section explains the supported features that are listed in the table below. 8 9csum 10 Device can handle packets with partial checksum. 11 12guest csum 13 Guest can handle packets with partial checksum. 14 15mac 16 Device has given MAC address. 17 18gso 19 Device can handle packets with any GSO type. 20 21guest tso4 22 Guest can receive TSOv4. 23 24guest tso6 25 Guest can receive TSOv6. 26 27ecn 28 Device can receive TSO with ECN. 29 30ufo 31 Device can receive UFO. 32 33host tso4 34 Device can receive TSOv4. 35 36host tso6 37 Device can receive TSOv6. 38 39mrg rxbuf 40 Guest can merge receive buffers. 41 42ctrl vq 43 Control channel is available. 44 45ctrl rx 46 Control channel RX mode support. 47 48any layout 49 Device can handle any descriptor layout. 50 51guest announce 52 Guest can send gratuitous packets. 53 54mq 55 Device supports Receive Flow Steering. 56 57version 1 58 v1.0 compliant. 59 60log all 61 Device can log all write descriptors (live migration). 62 63indirect desc 64 Indirect buffer descriptors support. 65 66event idx 67 Support for avail_idx and used_idx fields. 68 69mtu 70 Host can advise the guest with its maximum supported MTU. 71 72in_order 73 Device can use descriptors in ring order. 74 75IOMMU platform 76 Device support IOMMU addresses. 77 78packed 79 Device support packed virtio queues. 80 81proto mq 82 Support the number of queues query. 83 84proto log shmfd 85 Guest support setting log base. 86 87proto rarp 88 Host can broadcast a fake RARP after live migration. 89 90proto reply ack 91 Host support requested operation status ack. 92 93proto host notifier 94 Host can register memory region based host notifiers. 95 96proto pagefault 97 Slave expose page-fault FD for migration process. 98 99queue statistics 100 Support virtio queue statistics query. 101 102BSD nic_uio 103 BSD ``nic_uio`` module supported. 104 105Linux VFIO 106 Works with ``vfio-pci`` kernel module. 107 108Other kdrv 109 Kernel module other than above ones supported. 110 111ARMv7 112 Support armv7 architecture. 113 114ARMv8 115 Support armv8a (64bit) architecture. 116 117Power8 118 Support PowerPC architecture. 119 120x86-32 121 Support 32bits x86 architecture. 122 123x86-64 124 Support 64bits x86 architecture. 125 126Usage doc 127 Documentation describes usage, In ``doc/guides/vdpadevs/``. 128 129Design doc 130 Documentation describes design. In ``doc/guides/vdpadevs/``. 131 132Perf doc 133 Documentation describes performance values, In ``doc/perf/``. 134 135.. note:: 136 137 Most of the features capabilities should be provided by the drivers via the 138 next vDPA operations: ``get_features`` and ``get_protocol_features``. 139 140 141References 142========== 143 144 * `OASIS: Virtual I/O Device (VIRTIO) Version 1.1 <https://docs.oasis-open.org/virtio/virtio/v1.1/csprd01/virtio-v1.1-csprd01.html>`_ 145 * `QEMU: Vhost-user Protocol <https://qemu.weilnetz.de/doc/interop/vhost-user.html>`_ 146 147 148Features Table 149============== 150 151.. _table_vdpa_pmd_features: 152 153.. include:: overview_feature_table.txt 154 155.. Note:: 156 157 Features marked with "P" are partially supported. Refer to the appropriate 158 driver guide in the following sections for details. 159