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