From cab58dfe1ea746b4450f50b73584ad804a658e6a Mon Sep 17 00:00:00 2001 From: Stefano Garzarella Date: Tue, 18 Feb 2020 16:54:35 +0100 Subject: [PATCH] vsock.7: Add VMADDR_CID_LOCAL description Linux 5.6 added the new well-known VMADDR_CID_LOCAL for local communication. This patch explains how to use it and removes the legacy VMADDR_CID_RESERVED no longer available. Reviewed-by: Jorgen Hansen Reviewed-by: Stefan Hajnoczi Signed-off-by: Stefano Garzarella Signed-off-by: Michael Kerrisk --- man7/vsock.7 | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/man7/vsock.7 b/man7/vsock.7 index c5ffcf07d..fa2c6e17e 100644 --- a/man7/vsock.7 +++ b/man7/vsock.7 @@ -127,8 +127,8 @@ There are several special addresses: means any address for binding; .B VMADDR_CID_HYPERVISOR (0) is reserved for services built into the hypervisor; -.B VMADDR_CID_RESERVED -(1) must not be used; +.B VMADDR_CID_LOCAL +(1) is the well-known address for local communication (loopback); .B VMADDR_CID_HOST (2) is the well-known address of the host. @@ -164,6 +164,15 @@ Consider using .B VMADDR_CID_ANY when binding instead of getting the local CID with .BR IOCTL_VM_SOCKETS_GET_LOCAL_CID . +.SS Local communication +.B VMADDR_CID_LOCAL +(1) directs packets to the same host that generated them. This is useful +for testing applications on a single host and for debugging. +.PP +The local CID obtained with +.BR IOCTL_VM_SOCKETS_GET_LOCAL_CID +can be used for the same purpose, but it is preferable to use +.B VMADDR_CID_LOCAL . .SH ERRORS .TP .B EACCES @@ -222,6 +231,11 @@ are valid. Support for VMware (VMCI) has been available since Linux 3.9. KVM (virtio) is supported since Linux 4.8. Hyper-V is supported since Linux 4.14. +.PP +VMADDR_CID_LOCAL is supported since Linux 5.6. +Local communication in the guest and on the host is available since Linux 5.6. +Previous versions only supported local communication within a guest +(not on the host), and only with some transports (VMCI and virtio). .SH SEE ALSO .BR bind (2), .BR connect (2),