16222035eSMatan Azrad.. SPDX-License-Identifier: BSD-3-Clause 26222035eSMatan Azrad Copyright 2019 Mellanox Technologies, Ltd 36222035eSMatan Azrad 46222035eSMatan AzradOverview of vDPA Drivers Features 56222035eSMatan Azrad================================= 66222035eSMatan Azrad 76222035eSMatan AzradThis section explains the supported features that are listed in the table below. 86222035eSMatan Azrad 96222035eSMatan Azradcsum 106222035eSMatan Azrad Device can handle packets with partial checksum. 116222035eSMatan Azrad 126222035eSMatan Azradguest csum 136222035eSMatan Azrad Guest can handle packets with partial checksum. 146222035eSMatan Azrad 156222035eSMatan Azradmac 166222035eSMatan Azrad Device has given MAC address. 176222035eSMatan Azrad 186222035eSMatan Azradgso 196222035eSMatan Azrad Device can handle packets with any GSO type. 206222035eSMatan Azrad 216222035eSMatan Azradguest tso4 226222035eSMatan Azrad Guest can receive TSOv4. 236222035eSMatan Azrad 246222035eSMatan Azradguest tso6 256222035eSMatan Azrad Guest can receive TSOv6. 266222035eSMatan Azrad 276222035eSMatan Azradecn 286222035eSMatan Azrad Device can receive TSO with ECN. 296222035eSMatan Azrad 306222035eSMatan Azradufo 316222035eSMatan Azrad Device can receive UFO. 326222035eSMatan Azrad 336222035eSMatan Azradhost tso4 346222035eSMatan Azrad Device can receive TSOv4. 356222035eSMatan Azrad 366222035eSMatan Azradhost tso6 376222035eSMatan Azrad Device can receive TSOv6. 386222035eSMatan Azrad 396222035eSMatan Azradmrg rxbuf 406222035eSMatan Azrad Guest can merge receive buffers. 416222035eSMatan Azrad 426222035eSMatan Azradctrl vq 436222035eSMatan Azrad Control channel is available. 446222035eSMatan Azrad 456222035eSMatan Azradctrl rx 466222035eSMatan Azrad Control channel RX mode support. 476222035eSMatan Azrad 486222035eSMatan Azradany layout 496222035eSMatan Azrad Device can handle any descriptor layout. 506222035eSMatan Azrad 516222035eSMatan Azradguest announce 526222035eSMatan Azrad Guest can send gratuitous packets. 536222035eSMatan Azrad 546222035eSMatan Azradmq 556222035eSMatan Azrad Device supports Receive Flow Steering. 566222035eSMatan Azrad 576222035eSMatan Azradversion 1 586222035eSMatan Azrad v1.0 compliant. 596222035eSMatan Azrad 606222035eSMatan Azradlog all 616222035eSMatan Azrad Device can log all write descriptors (live migration). 626222035eSMatan Azrad 636222035eSMatan Azradindirect desc 646222035eSMatan Azrad Indirect buffer descriptors support. 656222035eSMatan Azrad 666222035eSMatan Azradevent idx 676222035eSMatan Azrad Support for avail_idx and used_idx fields. 686222035eSMatan Azrad 696222035eSMatan Azradmtu 706222035eSMatan Azrad Host can advise the guest with its maximum supported MTU. 716222035eSMatan Azrad 726222035eSMatan Azradin_order 736222035eSMatan Azrad Device can use descriptors in ring order. 746222035eSMatan Azrad 756222035eSMatan AzradIOMMU platform 766222035eSMatan Azrad Device support IOMMU addresses. 776222035eSMatan Azrad 786222035eSMatan Azradpacked 796222035eSMatan Azrad Device support packed virtio queues. 806222035eSMatan Azrad 816222035eSMatan Azradproto mq 826222035eSMatan Azrad Support the number of queues query. 836222035eSMatan Azrad 846222035eSMatan Azradproto log shmfd 856222035eSMatan Azrad Guest support setting log base. 866222035eSMatan Azrad 876222035eSMatan Azradproto rarp 886222035eSMatan Azrad Host can broadcast a fake RARP after live migration. 896222035eSMatan Azrad 906222035eSMatan Azradproto reply ack 916222035eSMatan Azrad Host support requested operation status ack. 926222035eSMatan Azrad 936222035eSMatan Azradproto host notifier 946222035eSMatan Azrad Host can register memory region based host notifiers. 956222035eSMatan Azrad 966222035eSMatan Azradproto pagefault 976222035eSMatan Azrad Slave expose page-fault FD for migration process. 986222035eSMatan Azrad 991cb44157SMatan Azradqueue statistics 1001cb44157SMatan Azrad Support virtio queue statistics query. 1011cb44157SMatan Azrad 102*04ed01f1SThomas MonjalonFreeBSD 103*04ed01f1SThomas Monjalon Support FreeBSD. 1046222035eSMatan Azrad 105*04ed01f1SThomas MonjalonLinux 106*04ed01f1SThomas Monjalon Support Linux. 1076222035eSMatan Azrad 1086222035eSMatan AzradARMv7 1096222035eSMatan Azrad Support armv7 architecture. 1106222035eSMatan Azrad 1116222035eSMatan AzradARMv8 1126222035eSMatan Azrad Support armv8a (64bit) architecture. 1136222035eSMatan Azrad 1146222035eSMatan AzradPower8 1156222035eSMatan Azrad Support PowerPC architecture. 1166222035eSMatan Azrad 1176222035eSMatan Azradx86-32 1186222035eSMatan Azrad Support 32bits x86 architecture. 1196222035eSMatan Azrad 1206222035eSMatan Azradx86-64 1216222035eSMatan Azrad Support 64bits x86 architecture. 1226222035eSMatan Azrad 1236222035eSMatan AzradUsage doc 1246222035eSMatan Azrad Documentation describes usage, In ``doc/guides/vdpadevs/``. 1256222035eSMatan Azrad 1266222035eSMatan AzradDesign doc 1276222035eSMatan Azrad Documentation describes design. In ``doc/guides/vdpadevs/``. 1286222035eSMatan Azrad 1296222035eSMatan AzradPerf doc 1306222035eSMatan Azrad Documentation describes performance values, In ``doc/perf/``. 1316222035eSMatan Azrad 1326222035eSMatan Azrad.. note:: 1336222035eSMatan Azrad 1346222035eSMatan Azrad Most of the features capabilities should be provided by the drivers via the 1356222035eSMatan Azrad next vDPA operations: ``get_features`` and ``get_protocol_features``. 1366222035eSMatan Azrad 1376222035eSMatan Azrad 1386222035eSMatan AzradReferences 1396222035eSMatan Azrad========== 1406222035eSMatan Azrad 1416222035eSMatan Azrad * `OASIS: Virtual I/O Device (VIRTIO) Version 1.1 <https://docs.oasis-open.org/virtio/virtio/v1.1/csprd01/virtio-v1.1-csprd01.html>`_ 1426222035eSMatan Azrad * `QEMU: Vhost-user Protocol <https://qemu.weilnetz.de/doc/interop/vhost-user.html>`_ 1436222035eSMatan Azrad 1446222035eSMatan Azrad 1456222035eSMatan AzradFeatures Table 1466222035eSMatan Azrad============== 1476222035eSMatan Azrad 1486222035eSMatan Azrad.. _table_vdpa_pmd_features: 1496222035eSMatan Azrad 1506222035eSMatan Azrad.. include:: overview_feature_table.txt 1516222035eSMatan Azrad 1526222035eSMatan Azrad.. Note:: 1536222035eSMatan Azrad 1546222035eSMatan Azrad Features marked with "P" are partially supported. Refer to the appropriate 1556222035eSMatan Azrad driver guide in the following sections for details. 156