vm_sockets: Add flags field in the vsock address data structure
authorAndra Paraschiv <andraprs@amazon.com>
Mon, 14 Dec 2020 16:11:18 +0000 (18:11 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 15 Dec 2020 03:33:39 +0000 (19:33 -0800)
commitdc8eeef73b63ed8988224ba6b5ed19a615163a7f
treef949b700aa24ba45670ba3938597a2ad4ae3e5d1
parentae0b04b238e283cafd906cdc3489cf5dc9a825cf
vm_sockets: Add flags field in the vsock address data structure

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

v3 -> v4

* Update the size of "svm_flags" field to be 1 byte instead of 2 bytes.

v2 -> v3

* Add "svm_flags" as a new field, not reusing "svm_reserved1".

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>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/uapi/linux/vm_sockets.h