Zero-configuration communication between the QEMU hypervisor and its guests can be achieved using the virtio-serial device. Virtio-serial has several limitations though. For example, it does not allow multiple connections to the same port. To overcome this limitations the driver virtio-vsock has been developed.

The virtio-vsock driver supports the POSIX Sockets API which is more familiar to developers wanting to perform communication between processes. The Sockets API allows N:1 communication and differentiates between block and stream protocols. In addition, programs that already use sockets can easily transition to the virtio-vsock device without major changes in their code.

However, the traffic sent through virtio-vsock is hidden to the outside world, as it is internally performed between the hypervisor and the driver. And to facilitate debugging is important to be able to see this exchange of information.

The goal of this project is to expose the traffic exchanged through the virtio-vsock socket interface so that programs like Wireshark can capture it. To achieve this, it would be necessary to implement a device driver that exposes the traffic and a Wireshark dissector.

Organization

Student

GerardGarcia

Mentors

  • Stefan Hajnoczi
close

2016