Message ID | 20200211102532.56795-1-sgarzare@redhat.com |
---|---|
State | Not Applicable |
Delegated to: | David Miller |
Headers | show |
Series | vsock.7: add VMADDR_CID_LOCAL description | expand |
On Tue, Feb 11, 2020 at 11:25:32AM +0100, Stefano Garzarella wrote: Do you want to mention that loopback works in the guest and on the host since Linux vX.Y and before that it only worked inside the guest? > @@ -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. This can be rephrased more naturally: .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.
On Thu, Feb 13, 2020 at 09:17:48AM +0000, Stefan Hajnoczi wrote: > On Tue, Feb 11, 2020 at 11:25:32AM +0100, Stefano Garzarella wrote: > > Do you want to mention that loopback works in the guest and on the host > since Linux vX.Y and before that it only worked inside the guest? I didn't mention it, because it was only supported by some transports (vmci, virtio), but it makes sense to say it, I'll add. > > > @@ -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. > > This can be rephrased more naturally: > > .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. Sure, it is better, I'll fix. Thanks, Stefano
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),
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@redhat.com> --- man7/vsock.7 | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-)