vhost: introduce operation to get vDPA queue stats
[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 queue statistics
100   Support virtio queue statistics query.
101
102 BSD nic_uio
103   BSD ``nic_uio`` module supported.
104
105 Linux VFIO
106   Works with ``vfio-pci`` kernel module.
107
108 Other kdrv
109   Kernel module other than above ones supported.
110
111 ARMv7
112   Support armv7 architecture.
113
114 ARMv8
115   Support armv8a (64bit) architecture.
116
117 Power8
118   Support PowerPC architecture.
119
120 x86-32
121   Support 32bits x86 architecture.
122
123 x86-64
124   Support 64bits x86 architecture.
125
126 Usage doc
127   Documentation describes usage, In ``doc/guides/vdpadevs/``.
128
129 Design doc
130   Documentation describes design. In ``doc/guides/vdpadevs/``.
131
132 Perf 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
141 References
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
148 Features 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.