xref: /dpdk/doc/guides/nics/avp.rst (revision f8dbaebbf1c9efcbb2e2354b341ed62175466a57)
132113d35SHemant Agrawal..  SPDX-License-Identifier: BSD-3-Clause
26cb99ee8SAllain Legacy    Copyright(c) 2017 Wind River Systems, Inc.
30d01bbeeSAllain Legacy    All rights reserved.
40d01bbeeSAllain Legacy
50d01bbeeSAllain LegacyAVP Poll Mode Driver
60d01bbeeSAllain Legacy=================================================================
70d01bbeeSAllain Legacy
80d01bbeeSAllain LegacyThe Accelerated Virtual Port (AVP) device is a shared memory based device
90d01bbeeSAllain Legacyonly available on `virtualization platforms <http://www.windriver.com/products/titanium-cloud/>`_
100d01bbeeSAllain Legacyfrom Wind River Systems.  The Wind River Systems virtualization platform
110d01bbeeSAllain Legacycurrently uses QEMU/KVM as its hypervisor and as such provides support for all
120d01bbeeSAllain Legacyof the QEMU supported virtual and/or emulated devices (e.g., virtio, e1000,
130d01bbeeSAllain Legacyetc.).  The platform offers the virtio device type as the default device when
140d01bbeeSAllain Legacylaunching a virtual machine or creating a virtual machine port.  The AVP device
150d01bbeeSAllain Legacyis a specialized device available to customers that require increased
160d01bbeeSAllain Legacythroughput and decreased latency to meet the demands of their performance
170d01bbeeSAllain Legacyfocused applications.
180d01bbeeSAllain Legacy
190d01bbeeSAllain LegacyThe AVP driver binds to any AVP PCI devices that have been exported by the Wind
200d01bbeeSAllain LegacyRiver Systems QEMU/KVM hypervisor.  As a user of the DPDK driver API it
210d01bbeeSAllain Legacysupports a subset of the full Ethernet device API to enable the application to
220d01bbeeSAllain Legacyuse the standard device configuration functions and packet receive/transmit
230d01bbeeSAllain Legacyfunctions.
240d01bbeeSAllain Legacy
250d01bbeeSAllain LegacyThese devices enable optimized packet throughput by bypassing QEMU and
260d01bbeeSAllain Legacydelivering packets directly to the virtual switch via a shared memory
270d01bbeeSAllain Legacymechanism.  This provides DPDK applications running in virtual machines with
280d01bbeeSAllain Legacysignificantly improved throughput and latency over other device types.
290d01bbeeSAllain Legacy
300d01bbeeSAllain LegacyThe AVP device implementation is integrated with the QEMU/KVM live-migration
310d01bbeeSAllain Legacymechanism to allow applications to seamlessly migrate from one hypervisor node
320d01bbeeSAllain Legacyto another with minimal packet loss.
330d01bbeeSAllain Legacy
340d01bbeeSAllain Legacy
350d01bbeeSAllain LegacyFeatures and Limitations of the AVP PMD
360d01bbeeSAllain Legacy---------------------------------------
370d01bbeeSAllain Legacy
38*f8dbaebbSSean MorrisseyThe AVP PMD provides the following functionality.
390d01bbeeSAllain Legacy
400d01bbeeSAllain Legacy*   Receive and transmit of both simple and chained mbuf packets,
410d01bbeeSAllain Legacy
420d01bbeeSAllain Legacy*   Chained mbufs may include up to 5 chained segments,
430d01bbeeSAllain Legacy
440d01bbeeSAllain Legacy*   Up to 8 receive and transmit queues per device,
450d01bbeeSAllain Legacy
460d01bbeeSAllain Legacy*   Only a single MAC address is supported,
470d01bbeeSAllain Legacy
480d01bbeeSAllain Legacy*   The MAC address cannot be modified,
490d01bbeeSAllain Legacy
500d01bbeeSAllain Legacy*   The maximum receive packet length is 9238 bytes,
510d01bbeeSAllain Legacy
520d01bbeeSAllain Legacy*   VLAN header stripping and inserting,
530d01bbeeSAllain Legacy
540d01bbeeSAllain Legacy*   Promiscuous mode
550d01bbeeSAllain Legacy
560d01bbeeSAllain Legacy*   VM live-migration
570d01bbeeSAllain Legacy
580d01bbeeSAllain Legacy*   PCI hotplug insertion and removal
590d01bbeeSAllain Legacy
600d01bbeeSAllain Legacy
610d01bbeeSAllain LegacyPrerequisites
620d01bbeeSAllain Legacy-------------
630d01bbeeSAllain Legacy
640d01bbeeSAllain LegacyThe following prerequisites apply:
650d01bbeeSAllain Legacy
660d01bbeeSAllain Legacy*   A virtual machine running in a Wind River Systems virtualization
670d01bbeeSAllain Legacy    environment and configured with at least one neutron port defined with a
680d01bbeeSAllain Legacy    vif-model set to "avp".
690d01bbeeSAllain Legacy
700d01bbeeSAllain Legacy
710d01bbeeSAllain LegacyLaunching a VM with an AVP type network attachment
720d01bbeeSAllain Legacy--------------------------------------------------
730d01bbeeSAllain Legacy
740d01bbeeSAllain LegacyThe following example will launch a VM with three network attachments.  The
750d01bbeeSAllain Legacyfirst attachment will have a default vif-model of "virtio".  The next two
760d01bbeeSAllain Legacynetwork attachments will have a vif-model of "avp" and may be used with a DPDK
77*f8dbaebbSSean Morrisseyapplication which is built to include the AVP PMD.
780d01bbeeSAllain Legacy
790d01bbeeSAllain Legacy.. code-block:: console
800d01bbeeSAllain Legacy
810d01bbeeSAllain Legacy    nova boot --flavor small --image my-image \
820d01bbeeSAllain Legacy       --nic net-id=${NETWORK1_UUID} \
830d01bbeeSAllain Legacy       --nic net-id=${NETWORK2_UUID},vif-model=avp \
840d01bbeeSAllain Legacy       --nic net-id=${NETWORK3_UUID},vif-model=avp \
850d01bbeeSAllain Legacy       --security-group default my-instance1
86