Linux-man Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH v4] vsock.7: add VMADDR_CID_LOCAL description
@ 2020-02-18 15:54 Stefano Garzarella
  2020-02-19 11:21 ` Stefan Hajnoczi
  2020-03-14 22:02 ` Michael Kerrisk (man-pages)
  0 siblings, 2 replies; 3+ messages in thread
From: Stefano Garzarella @ 2020-02-18 15:54 UTC (permalink / raw)
  To: mtk.manpages
  Cc: Jorgen Hansen, netdev, linux-man, Stefan Hajnoczi, Dexuan Cui

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@vmware.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
---
v4:
    * removed "The" in the "Local communication" section [Stefan]
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 | 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),
-- 
2.24.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v4] vsock.7: add VMADDR_CID_LOCAL description
  2020-02-18 15:54 [PATCH v4] vsock.7: add VMADDR_CID_LOCAL description Stefano Garzarella
@ 2020-02-19 11:21 ` Stefan Hajnoczi
  2020-03-14 22:02 ` Michael Kerrisk (man-pages)
  1 sibling, 0 replies; 3+ messages in thread
From: Stefan Hajnoczi @ 2020-02-19 11:21 UTC (permalink / raw)
  To: Stefano Garzarella
  Cc: mtk.manpages, Jorgen Hansen, netdev, linux-man, Dexuan Cui

[-- Attachment #1: Type: text/plain, Size: 846 bytes --]

On Tue, Feb 18, 2020 at 04:54:35PM +0100, Stefano Garzarella wrote:
> 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@vmware.com>
> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> ---
> v4:
>     * removed "The" in the "Local communication" section [Stefan]
> 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 | 18 ++++++++++++++++--
>  1 file changed, 16 insertions(+), 2 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v4] vsock.7: add VMADDR_CID_LOCAL description
  2020-02-18 15:54 [PATCH v4] vsock.7: add VMADDR_CID_LOCAL description Stefano Garzarella
  2020-02-19 11:21 ` Stefan Hajnoczi
@ 2020-03-14 22:02 ` Michael Kerrisk (man-pages)
  1 sibling, 0 replies; 3+ messages in thread
From: Michael Kerrisk (man-pages) @ 2020-03-14 22:02 UTC (permalink / raw)
  To: Stefano Garzarella
  Cc: mtk.manpages, Jorgen Hansen, netdev, linux-man, Stefan Hajnoczi,
	Dexuan Cui

Hello Stefano,

On 2/18/20 4:54 PM, Stefano Garzarella wrote:
> 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@vmware.com>
> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> ---
> v4:
>     * removed "The" in the "Local communication" section [Stefan]
> 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]

Thanks. Patch applied.

Cheers,

Michael


> ---
>  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),
> 


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-18 15:54 [PATCH v4] vsock.7: add VMADDR_CID_LOCAL description Stefano Garzarella
2020-02-19 11:21 ` Stefan Hajnoczi
2020-03-14 22:02 ` Michael Kerrisk (man-pages)

Linux-man Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-man/0 linux-man/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-man linux-man/ https://lore.kernel.org/linux-man \
		linux-man@vger.kernel.org
	public-inbox-index linux-man

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-man


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git