summaryrefslogtreecommitdiffstats
path: root/src/spdk/dpdk/doc/guides/vdpadevs/features_overview.rst
blob: eb7eb3bdc2b764bca299519a8184837030761f3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
..  SPDX-License-Identifier: BSD-3-Clause
    Copyright 2019 Mellanox Technologies, Ltd

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``.


References
==========

  * `OASIS: Virtual I/O Device (VIRTIO) Version 1.1 <https://docs.oasis-open.org/virtio/virtio/v1.1/csprd01/virtio-v1.1-csprd01.html>`_
  * `QEMU: Vhost-user Protocol <https://qemu.weilnetz.de/doc/interop/vhost-user.html>`_


Features Table
==============

.. _table_vdpa_pmd_features:

.. include:: overview_feature_table.txt

.. Note::

   Features marked with "P" are partially supported. Refer to the appropriate
   driver guide in the following sections for details.