[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201211152127.jfst6qfwc663ft7c@steredhat>
Date: Fri, 11 Dec 2020 16:21:27 +0100
From: Stefano Garzarella <sgarzare@...hat.com>
To: Andra Paraschiv <andraprs@...zon.com>
Cc: netdev <netdev@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
"David S . Miller" <davem@...emloft.net>,
David Duncan <davdunc@...zon.com>,
Dexuan Cui <decui@...rosoft.com>,
Alexander Graf <graf@...zon.de>,
Jorgen Hansen <jhansen@...are.com>,
Jakub Kicinski <kuba@...nel.org>,
Stefan Hajnoczi <stefanha@...hat.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>
Subject: Re: [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@...zon.com>
>Reviewed-by: Stefano Garzarella <sgarzare@...hat.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.
>
Powered by blists - more mailing lists