Argo: Hypervisor-Mediated Exchange (HMX) for Xen
Hypervisor Mediated Exchange (HMX)
The technologies provided by VMMs for communication between VMs have a critical impact on VM isolation properties, on the confidence components can have in the delivery of data and in the integrity of the data that is received. The video below identifies aspects of inter-VM communication system architecture that support important properties that are valuable for building secure systems. Terminology is introduced to enable classification of the existing body of art and survey relevant communication technologies in modern hypervisor, OS and microkernel systems. An example is presented — Argo, an inter-VM communication mechanism developed for the Xen hypervisor — and how it is distinguished from other communication channels on the Xen platform and elsewhere.
- PSEC 2018 talk by Christopher Clark (May 2018)
- Xen Summit 2019 video and slides (June 2019)
V4V (historical)
V4V was created for Citrix XenClient and derivatives are currently deployed in production systems for OpenXT and millions of HP/Bromium laptops with uXen and vSentry/SureClick.
- Jean Guyader: xen-devel thread on V4V requirements (May 2012)
- Ross Philipson: PATCH (V9) Add V4V to Xen (May 2013)
Argo
Argo was derived from V4V, hypervisor patches were submitted to xen-devel in 2018 and merged in 2019 for Xen 4.12.
Note: Linux driver for Argo is not yet upstream.
Upstream
- Xen 4.12 design doc (March 2019)
History
- v0.1 design documentation for Argo (June 2018)
- Minutes of x86 community call (September 2018)
- v1 patch series (November 2018)
- v3 patch series (January 6 2019)
- v4 patch series (January 14, 2019)
Related Work
- Xinhua Zhang: Xen libvchan (2014)
- Roman Kagan: VMBus (Hyper-V) devices in QEMU/KVM (2015)
- Michael S. Tsirkin: The future of virtio: riddles, myths and surprises (2017)