Messages in this thread | | | Date | Fri, 11 Dec 2020 16:21:27 +0100 | From | Stefano Garzarella <> | 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@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. >
| |