From: Andra Paraschiv <andraprs@amazon.com>
To: netdev <netdev@vger.kernel.org>
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
"David S . Miller" <davem@davemloft.net>,
David Duncan <davdunc@amazon.com>,
Dexuan Cui <decui@microsoft.com>, Alexander Graf <graf@amazon.de>,
Jorgen Hansen <jhansen@vmware.com>,
Jakub Kicinski <kuba@kernel.org>,
Stefano Garzarella <sgarzare@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>,
Andra Paraschiv <andraprs@amazon.com>
Subject: [PATCH net-next v3 1/4] vm_sockets: Add flags field in the vsock address data structure
Date: Fri, 11 Dec 2020 12:32:38 +0200 [thread overview]
Message-ID: <20201211103241.17751-2-andraprs@amazon.com> (raw)
In-Reply-To: <20201211103241.17751-1-andraprs@amazon.com>
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".
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.
next prev parent reply other threads:[~2020-12-11 10:34 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-11 10:32 [PATCH net-next v3 0/4] vsock: Add flags field in the vsock address Andra Paraschiv
2020-12-11 10:32 ` Andra Paraschiv [this message]
2020-12-11 15:21 ` [PATCH net-next v3 1/4] vm_sockets: Add flags field in the vsock address data structure Stefano Garzarella
2020-12-11 10:32 ` [PATCH net-next v3 2/4] vm_sockets: Add VMADDR_FLAG_TO_HOST vsock flag Andra Paraschiv
2020-12-11 15:21 ` Stefano Garzarella
2020-12-11 10:32 ` [PATCH net-next v3 3/4] af_vsock: Set VMADDR_FLAG_TO_HOST flag on the receive path Andra Paraschiv
2020-12-11 10:32 ` [PATCH net-next v3 4/4] af_vsock: Assign the vsock transport considering the vsock address flags Andra Paraschiv
2020-12-11 15:24 ` [PATCH net-next v3 0/4] vsock: Add flags field in the vsock address Stefano Garzarella
2020-12-11 17:46 ` Paraschiv, Andra-Irina
2020-12-12 17:16 ` Jakub Kicinski
2020-12-14 8:13 ` Stefano Garzarella
2020-12-14 16:18 ` Paraschiv, Andra-Irina
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201211103241.17751-2-andraprs@amazon.com \
--to=andraprs@amazon.com \
--cc=davdunc@amazon.com \
--cc=davem@davemloft.net \
--cc=decui@microsoft.com \
--cc=graf@amazon.de \
--cc=jhansen@vmware.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=sgarzare@redhat.com \
--cc=stefanha@redhat.com \
--cc=vkuznets@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).