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