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. Signed-off-by: Stefano Garzarella <sgarzare@xxxxxxxxxx> --- man7/vsock.7 | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/man7/vsock.7 b/man7/vsock.7 index c5ffcf07d..d7dc37dcc 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) can be used to address itself. In this case all packets are redirected +to the same host that generated them. Useful for testing and 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,8 @@ 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. .SH SEE ALSO .BR bind (2), .BR connect (2), -- 2.24.1