linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v1 0/7] virtio/vsock: introduce MSG_EOR flag for SEQPACKET
@ 2021-07-26 16:31 Arseny Krasnov
  2021-07-26 16:33 ` [RFC PATCH v1 1/7] virtio/vsock: add 'VIRTIO_VSOCK_SEQ_EOM' bit Arseny Krasnov
                   ` (8 more replies)
  0 siblings, 9 replies; 22+ messages in thread
From: Arseny Krasnov @ 2021-07-26 16:31 UTC (permalink / raw)
  To: Stefan Hajnoczi, Stefano Garzarella, Michael S. Tsirkin,
	Jason Wang, David S. Miller, Jakub Kicinski, Arseny Krasnov,
	Colin Ian King, Andra Paraschiv, Norbert Slusarek
  Cc: kvm, virtualization, netdev, linux-kernel, oxffffaa

	This patchset implements support of MSG_EOR bit for SEQPACKET
AF_VSOCK sockets over virtio transport.
	Idea is to distinguish concepts of 'messages' and 'records'.
Message is result of sending calls: 'write()', 'send()', 'sendmsg()'
etc. It has fixed maximum length, and it bounds are visible using
return from receive calls: 'read()', 'recv()', 'recvmsg()' etc.
Current implementation based on message definition above.
	Record has unlimited length, it consists of multiple message,
and bounds of record are visible via MSG_EOR flag returned from
'recvmsg()' call. Sender passes MSG_EOR to sending system call and
receiver will see MSG_EOR when corresponding message will be processed.
	To support MSG_EOR new bit was added along with existing
'VIRTIO_VSOCK_SEQ_EOR': 'VIRTIO_VSOCK_SEQ_EOM'(end-of-message) - now it
works in the same way as 'VIRTIO_VSOCK_SEQ_EOR'. But 'VIRTIO_VSOCK_SEQ_EOR'
is used to mark 'MSG_EOR' bit passed from userspace.
	This patchset includes simple test for MSG_EOR.
 	Also i've added new vsock test for '-EAGAIN' receive result.

 Arseny Krasnov(7):
  virtio/vsock: add 'VIRTIO_VSOCK_SEQ_EOM' bit
  vsock: rename implementation from 'record' to 'message'
  vhost/vsock: support MSG_EOR bit processing
  virito/vsock: support MSG_EOR bit processing
  af_vsock: rename variables in receive loop
  vsock_test: update message bounds test for MSG_EOR
  vsock_test: 'SO_RCVTIMEO' test for SEQPACKET

 drivers/vhost/vsock.c                   | 28 +++++++----
 include/uapi/linux/virtio_vsock.h       |  1 +
 net/vmw_vsock/af_vsock.c                | 10 ++--
 net/vmw_vsock/virtio_transport_common.c | 23 +++++----
 tools/testing/vsock/vsock_test.c        | 57 ++++++++++++++++++++++-
 5 files changed, 96 insertions(+), 23 deletions(-)

Signed-off-by: Arseny Krasnov <arseny.krasnov@kaspersky.com>

-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2021-08-06  8:48 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-26 16:31 [RFC PATCH v1 0/7] virtio/vsock: introduce MSG_EOR flag for SEQPACKET Arseny Krasnov
2021-07-26 16:33 ` [RFC PATCH v1 1/7] virtio/vsock: add 'VIRTIO_VSOCK_SEQ_EOM' bit Arseny Krasnov
2021-08-06  7:18   ` Stefano Garzarella
2021-07-26 16:33 ` [RFC PATCH v1 2/7] vsock: rename implementation from 'record' to 'message' Arseny Krasnov
2021-08-06  7:20   ` Stefano Garzarella
2021-07-26 16:33 ` [RFC PATCH v1 3/7] vhost/vsock: support MSG_EOR bit processing Arseny Krasnov
2021-08-06  7:28   ` Stefano Garzarella
2021-08-06  8:40     ` Arseny Krasnov
2021-08-06  8:47       ` Stefano Garzarella
2021-07-26 16:33 ` [RFC PATCH v1 4/7] virito/vsock: " Arseny Krasnov
2021-07-26 16:34 ` [RFC PATCH v1 5/7] af_vsock: rename variables in receive loop Arseny Krasnov
2021-07-26 16:34 ` [RFC PATCH v1 6/7] vsock_test: update message bounds test for MSG_EOR Arseny Krasnov
2021-07-26 16:34 ` [RFC PATCH v1 7/7] vsock_test: 'SO_RCVTIMEO' test for SEQPACKET Arseny Krasnov
2021-07-27  7:59 ` [RFC PATCH v1 0/7] virtio/vsock: introduce MSG_EOR flag " Stefano Garzarella
2021-07-27  9:34   ` [MASSMAIL KLMS] " Arseny Krasnov
2021-07-27  9:58     ` Stefano Garzarella
2021-07-27 12:35       ` [MASSMAIL KLMS] " Arseny Krasnov
2021-08-04 12:57 ` Stefano Garzarella
2021-08-05  8:33   ` Arseny Krasnov
2021-08-05  9:06     ` Stefano Garzarella
2021-08-05  9:21       ` [!!Mass Mail KSE][MASSMAIL KLMS] " Arseny Krasnov
2021-08-06  7:16         ` Stefano Garzarella

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).