[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200217173121.159132-1-sgarzare@redhat.com>
Date: Mon, 17 Feb 2020 18:31:21 +0100
From: Stefano Garzarella <sgarzare@...hat.com>
To: mtk.manpages@...il.com
Cc: linux-man@...r.kernel.org, Dexuan Cui <decui@...rosoft.com>,
Stefan Hajnoczi <stefanha@...hat.com>,
Jorgen Hansen <jhansen@...are.com>, netdev@...r.kernel.org
Subject: [PATCH v3] 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 remove the legacy
VMADDR_CID_RESERVED no longer available.
Reviewed-by: Jorgen Hansen <jhansen@...are.com>
Signed-off-by: Stefano Garzarella <sgarzare@...hat.com>
---
v3:
* rephrased "Previous versions" part [Jorgen]
v2:
* rephrased "Local communication" description [Stefan]
* added a mention of previous versions that supported
loopback only in the guest [Stefan]
---
man7/vsock.7 | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/man7/vsock.7 b/man7/vsock.7
index c5ffcf07d..219e3505f 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,16 @@ 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
+The
+.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 +232,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),
--
2.24.1
Powered by blists - more mailing lists