Merge branch 'virtio-vsock-seqpacket'
authorDavid S. Miller <davem@davemloft.net>
Fri, 11 Jun 2021 20:32:47 +0000 (13:32 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Jun 2021 20:32:47 +0000 (13:32 -0700)
commit5aa3bd9bc19e687e884f5da348a0d117b6ed1f04
tree931dad375142b264b57994224aed62a4e9457027
parent57806b28752b778d7daeabcf4719f7522631a778
parent184039eefeaeab02abf7552504d2950dccf8785b
Merge branch 'virtio-vsock-seqpacket'

Arseny Krasnov says:

====================
virtio/vsock: introduce SOCK_SEQPACKET support

This patchset implements support of SOCK_SEQPACKET for virtio
transport.
As SOCK_SEQPACKET guarantees to save record boundaries, so to
do it, new bit for field 'flags' was added: SEQ_EOR. This bit is
set to 1 in last RW packet of message.
Now as  packets of one socket are not reordered neither on vsock
nor on vhost transport layers, such bit allows to restore original
message on receiver's side. If user's buffer is smaller than message
length, when all out of size data is dropped.
Maximum length of datagram is limited by 'peer_buf_alloc' value.
Implementation also supports 'MSG_TRUNC' flags.
Tests also implemented.

Thanks to stsp2@yandex.ru for encouragements and initial design
recommendations.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>