Argo: Hypervisor-Mediated Exchange (HMX) for Xen: Difference between revisions
(→Argo) |
|||
(16 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
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. |
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. |
||
[https://www.platformsecuritysummit.com/2018/speaker/clark/ PSEC 2018 talk by Christopher Clark] (May 2018) |
* [https://www.platformsecuritysummit.com/2018/speaker/clark/ PSEC 2018 talk by Christopher Clark] (May 2018) |
||
* Xen Summit 2019 [https://www.youtube.com/watch?v=cnC0Tg3jqJQ video] and [https://static.sched.com/hosted_files/xensummit19/92/Argo%20and%20HMX%20-%20OpenXT%20-%20Christopher%20Clark%20-%20Xen%20Summit%202019.pdf slides] (June 2019) |
|||
== V4V == |
== V4V (historical) == |
||
V4V was created for Citrix XenClient and derivatives are currently deployed in production systems for [https://github.com/openxt OpenXT] and Bromium [https:// |
V4V was created for Citrix XenClient and derivatives are currently deployed in production systems for [https://github.com/openxt OpenXT] and millions of HP/Bromium laptops with [https://github.com/uxen-virt uXen] and vSentry/SureClick. |
||
* Jean Guyader: [https://lists.xenproject.org/archives/html/xen-devel/2012-05/msg01876.html xen-devel thread on V4V requirements] (May 2012) |
* Jean Guyader: [https://lists.xenproject.org/archives/html/xen-devel/2012-05/msg01876.html xen-devel thread on V4V requirements] (May 2012) |
||
Line 16: | Line 17: | ||
== Argo == |
== Argo == |
||
Argo |
Argo was derived from V4V, hypervisor patches were submitted to xen-devel in 2018 and merged in 2019 for Xen 4.12. |
||
Note: [https://github.com/OpenXT/linux-xen-argo Linux driver for Argo] is not yet upstream. |
|||
'''Upstream''' |
|||
* [https://xenbits.xen.org/docs/unstable/designs/argo.html Xen 4.12 design doc] (March 2019) |
|||
'''History''' |
|||
* [[Media:DRAFT_RFC_Argo_and_HMX_2018-06-19-23-45.pdf| v0.1 design documentation for Argo]] (June 2018) |
* [[Media:DRAFT_RFC_Argo_and_HMX_2018-06-19-23-45.pdf| v0.1 design documentation for Argo]] (June 2018) |
||
* [https://docs.google.com/document/d/1VUPdWwd1raDOPhjReVVkmb6YoQB3X5oU12E4ExjO1n0/view Minutes of x86 community call] (September 2018) |
|||
* [https://lists.xen.org/archives/html/xen-devel/2018-12/msg00005.html v1 patch series] (November 2018) |
|||
* [https://lists.xen.org/archives/html/xen-devel/2019-01/msg00310.html v3 patch series] (January 6 2019) |
|||
* [https://lists.xenproject.org/archives/html/xen-devel/2019-01/msg01051.html v4 patch series] (January 14, 2019) |
|||
== Related Work == |
|||
* Xinhua Zhang: [https://www.cs.uic.edu/~xzhang/vchan/ Xen libvchan] (2014) |
|||
* Roman Kagan: [http://events17.linuxfoundation.org/sites/events/files/slides/VMBus%20%28Hyper-V%29%20devices%20in%20QEMU%252FKVM_0.pdf VMBus (Hyper-V) devices in QEMU/KVM] (2015) |
|||
* Michael S. Tsirkin: [https://www.linux-kvm.org/images/0/03/Virtio_fall_2017.pdf The future of virtio: riddles, myths and surprises] (2017) |
Latest revision as of 14:04, 5 August 2020
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)