On Wed, Mar 16, 2016 at 05:22:07PM -0000, Julien Meunier wrote: > I ran a DPDK application with virtio ports. If I killed and relaunched it, VM > is > killed by qemu with the following message: > > qemu-system-x86_64: Guest moved used index from 571 to 0 > > If I ran the same application with e1000 ports, I haven't this issue. > > Network topology > ================ > > I used two VM machines with last qemu-2.5 with two virtio-net netdevs. Both > netdevs are connected through a VDE switch. > > On testnode, I used a Debian 8 (3.16) and virtio-net linux drivers. On DUT, I > used a Ubuntu 14.04 (3.13) with DPDK (next/16_04) with virtio pmd. > > (Topology in attachment, launchpad does not support ascii-art) > > Steps > ===== > > 1. Start a DPDK application using virtio ports > 2. Send traffic over those ports (using ping flood ...) > 3. Kill this DPDK application (sending SIGKILL, making it crash etc...) > 4. Restart this DPDK application with the same configuration > 5. During EAL initialization, if an incoming packet is received on a virtio > port, qemu exits (error code 1) with the following message: > > qemu-system-x86_64: Guest moved used index from 571 to 0
The DPDK application is not using the virtio-net device correctly. QEMU will abort if the driver (application) is out of sync with the device. The application probably needs to do an explicit virtio device reset in order to reinitialize the vrings. This ungraceful exit isn't pretty but it is shows there is a bug with the driver. Please contact the application authors to fix the application (it must reset the device explicitly to initialize it). Stefan
signature.asc
Description: PGP signature