[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v3 1/3] docs: add documentation for Argo as a feature
Adds approachable documentation describing system components and introduces the support statement for feature status. Signed-off-by: Christopher Clark <christopher.w.clark@xxxxxxxxx> --- docs/features/argo-feature.pandoc | 99 +++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 docs/features/argo-feature.pandoc diff --git a/docs/features/argo-feature.pandoc b/docs/features/argo-feature.pandoc new file mode 100644 index 0000000000..b6a10be78a --- /dev/null +++ b/docs/features/argo-feature.pandoc @@ -0,0 +1,99 @@ +% Argo interdomain communication +% Revision 1 + +\clearpage + +# Basics + +---------------- ---------------------------------------------------- + Status: **Tech Preview** + + Architectures: x86, ARM + + Component(s): Hypervisor, guest +---------------- ---------------------------------------------------- + +# Overview + +Argo is a lightweight data transport for communication between virtual +machines, with a simple hypervisor interface that is accessible for +building embedded systems and designed to work with familiar primitives +within guest OS kernels. It supports policy control over communication +and isolation between VMs. + +# User details + +Argo is present in Xen, included since Xen 4.12. A Linux device driver +and userspace library are available and Argo is regularly tested in the +Xen Continuous Integration system. + +To configure a Xen system to enable Argo: + +* ensure that Argo is enabled in the hypervisor with KConfig option + +* enable Argo on the Xen hypervisor command line + +* load the Argo guest kernel device driver + +* ensure that the Argo guest libraries are installed + +The guest userspace libraries support software designed for Argo +interfaces and also enables software designed for networks to +communicate between VMs by Argo. This allows platform software to be +plumbed easily between virtual machines, without requiring networking +and with system policy controls over this communication. + +# Technical details + +## Argo components + +* Xen: Argo in the hypervisor provides communication between virtual + machines. + +* Guest kernel: driver provides interfaces for data transport for use + within the kernel, and implements familiar abstractions for + networking software. + +* Guest libraries: provide application-level support for interdomain + communication. + +## Argo implementation within Xen + +See the public Xen headers for the primary interface documentation. + +# Limitations + +Argo has been developed and tested on x86 and ARM architectures. + +# Testing + +The Argo test developed for the Xen Test Framework provides coverage of +the hypercall operations. + +The Xen Project CI provides system test coverage of an Argo-enabled Xen +system with Linux. + +# Areas for improvement + +## Argo and VirtIO + +References to design documentation for the development of an Argo +transport for VirtIO are available via: +https://wiki.xenproject.org/wiki/Virtio_On_Xen + +# Known issues + +* For development: sysctl/domctls for toolstack to control per-VM access + to Argo + +# References + +See the ARGO section of the Xen MAINTAINERS document for web reference. + +# History + +------------------------------------------------------------------------ +Date Revision Version Notes +---------- -------- --------- ------------------------------------------ +2025-05-28 1 Xen 4.12+ Feature included in Xen 4.12. +---------- -------- --------- ------------------------------------------ -- 2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |