Message ID | 20201211103241.17751-2-andraprs@amazon.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | vsock: Add flags field in the vsock address | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for net-next |
netdev/subject_prefix | success | Link |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 14 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/header_inline | success | Link |
netdev/stable | success | Stable not CCed |
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. >
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)