Stefano Garzarella
2021-Apr-22 08:46 UTC
[RFC PATCH v8 00/19] virtio/vsock: introduce SOCK_SEQPACKET support
On Wed, Apr 21, 2021 at 06:06:28PM +0300, Arseny Krasnov wrote:>On 21.04.2021 12:52, Stefano Garzarella wrote: >> On Tue, Apr 13, 2021 at 03:39:51PM +0300, Arseny Krasnov wrote: >>> v7 -> v8: >>> General changelog: >>> - whole idea is simplified: channel now considered reliable, >>> so SEQ_BEGIN, SEQ_END, 'msg_len' and 'msg_id' were removed. >>> Only thing that is used to mark end of message is bit in >>> 'flags' field of packet header: VIRTIO_VSOCK_SEQ_EOR. Packet >>> with such bit set to 1 means, that this is last packet of >>> message. >>> >>> - POSIX MSG_EOR support is removed, as there is no exact >>> description how it works. >> It would be nice to support it, I'll try to see if I can find anything. >> >> I just reviewed the series. I think the most important things to fix are >> the `seqpacket_allow` stored in the struct virtio_transport that is >> wrong IMHO, and use cpu_to_le32()/le32_to_cpu() to access the flags. > >Thank You, i'll prepare next version. Main question is: does this >approach(no SEQ_BEGIN, SEQ_END, 'msg_len' and 'msg_id') considered >good? In this case it will be easier to prepare final version, because >is smaller and more simple than previous logic. Also patch to spec >will be smaller.Yes, it's definitely much better than before. The only problem I see is that we add some overhead per fragment (header). We could solve that with the mergeable buffers that Jiang is considering for DGRAM. If we have that support, I think we could reuse it here as well, but it might be a next step. Thanks, Stefano