lkml.org 
[lkml]   [2020]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH net-next v3 1/4] vm_sockets: Add flags field in the vsock address data structure
On Fri, Dec 11, 2020 at 12:32:38PM +0200, Andra Paraschiv wrote:
>vsock enables communication between virtual machines and the host they
>are running on. With the multi transport support (guest->host and
>host->guest), nested VMs can also use vsock channels for communication.
>
>In addition to this, by default, all the vsock packets are forwarded to
>the host, if no host->guest transport is loaded. This behavior can be
>implicitly used for enabling vsock communication between sibling VMs.
>
>Add a flags field in the vsock address data structure that can be used
>to explicitly mark the vsock connection as being targeted for a certain
>type of communication. This way, can distinguish between different use
>cases such as nested VMs and sibling VMs.
>
>This field can be set when initializing the vsock address variable used
>for the connect() call.
>
>Changelog
>
>v2 -> v3
>
>* Add "svm_flags" as a new field, not reusing "svm_reserved1".

Using the previous 'svn_zero[0]' for the new 'svn_flags' field make sure
that if an application sets a flag and runs on an older kernel, it will
receive an error and I think it's perfect, since that kernel is not able
to handle the flag.

So I think is okay and I confirm my R-b tag ;-)

>
>v1 -> v2
>
>* Update the field name to "svm_flags".
>* Split the current patch in 2 patches.
>
>Signed-off-by: Andra Paraschiv <andraprs@amazon.com>
>Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
>---
> include/uapi/linux/vm_sockets.h | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
>diff --git a/include/uapi/linux/vm_sockets.h b/include/uapi/linux/vm_sockets.h
>index fd0ed7221645d..619f8e9d55ca4 100644
>--- a/include/uapi/linux/vm_sockets.h
>+++ b/include/uapi/linux/vm_sockets.h
>@@ -148,10 +148,13 @@ struct sockaddr_vm {
> unsigned short svm_reserved1;
> unsigned int svm_port;
> unsigned int svm_cid;
>+ unsigned short svm_flags;
> unsigned char svm_zero[sizeof(struct sockaddr) -
> sizeof(sa_family_t) -
> sizeof(unsigned short) -
>- sizeof(unsigned int) - sizeof(unsigned int)];
>+ sizeof(unsigned int) -
>+ sizeof(unsigned int) -
>+ sizeof(unsigned short)];
> };
>
> #define IOCTL_VM_SOCKETS_GET_LOCAL_CID _IO(7, 0xb9)
>--
>2.20.1 (Apple Git-117)
>
>
>
>
>Amazon Development Center (Romania) S.R.L. registered office: 27A Sf. Lazar Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. Registered in Romania. Registration number J22/2621/2005.
>

\
 
 \ /
  Last update: 2020-12-11 16:26    [W:0.296 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site