Messages in this thread | | | Date | Mon, 14 Dec 2020 18:09:04 +0100 | From | Stefano Garzarella <> | Subject | Re: [PATCH net-next v4 0/5] vsock: Add flags field in the vsock address |
| |
On Mon, Dec 14, 2020 at 06:11:17PM +0200, Andra Paraschiv wrote: >vsock enables communication between virtual machines and the host they are >running on. Nested VMs can be setup to use vsock channels, as the multi >transport support has been available in the mainline since the v5.5 Linux kernel >has been released. > >Implicitly, if no host->guest vsock transport is loaded, all the vsock packets >are forwarded to the host. This behavior can be used to setup communication >channels between sibling VMs that are running on the same host. One example can >be the vsock channels that can be established within AWS Nitro Enclaves >(see Documentation/virt/ne_overview.rst). > >To be able to explicitly mark a connection as being used for a certain use case, >add a flags field in the vsock address data structure. The value of the flags >field is taken into consideration when the vsock transport is assigned. This way >can distinguish between different use cases, such as nested VMs / local >communication and sibling VMs. > >The flags field can be set in the user space application connect logic. On the >listen path, the field can be set in the kernel space logic.
I reviewed and tested all the patches, great job!
Thanks, Stefano
> >Thank you. > >Andra > >--- > >Patch Series Changelog > >The patch series is built on top of v5.10. > >GitHub repo branch for the latest version of the patch series: > >* https://github.com/andraprs/linux/tree/vsock-flag-sibling-comm-v4 > >v3 -> v4 > >* Rebase on top of v5.10. >* Add check for supported flag values. >* Update the "svm_flags" field to be 1 byte instead of 2 bytes. >* v3: https://lore.kernel.org/lkml/20201211103241.17751-1-andraprs@amazon.com/ > >v2 -> v3 > >* Rebase on top of v5.10-rc7. >* Add "svm_flags" as a new field, not reusing "svm_reserved1". >* Update comments to mention when the "VMADDR_FLAG_TO_HOST" flag is set in the > connect and listen paths. >* Update bitwise check logic to not compare result to the flag value. >* v2: https://lore.kernel.org/lkml/20201204170235.84387-1-andraprs@amazon.com/ > >v1 -> v2 > >* Update the vsock flag naming to "VMADDR_FLAG_TO_HOST". >* Use bitwise operators to setup and check the vsock flag. >* Set the vsock flag on the receive path in the vsock transport assignment > logic. >* Merge the checks for the g2h transport assignment in one "if" block. >* v1: https://lore.kernel.org/lkml/20201201152505.19445-1-andraprs@amazon.com/ > >--- > >Andra Paraschiv (5): > vm_sockets: Add flags field in the vsock address data structure > vm_sockets: Add VMADDR_FLAG_TO_HOST vsock flag > vsock_addr: Check for supported flag values > af_vsock: Set VMADDR_FLAG_TO_HOST flag on the receive path > af_vsock: Assign the vsock transport considering the vsock address > flags > > include/uapi/linux/vm_sockets.h | 26 +++++++++++++++++++++++++- > net/vmw_vsock/af_vsock.c | 21 +++++++++++++++++++-- > net/vmw_vsock/vsock_addr.c | 4 +++- > 3 files changed, 47 insertions(+), 4 deletions(-) > >-- >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. >
| |