Re: [RFC PATCH net-next v6 03/14] af_vsock: support multi-transport datagrams
From: Arseniy Krasnov
Date: Mon Jul 29 2024 - 01:24:50 EST
On 29.07.2024 00:53, Amery Hung wrote:
> On Sun, Jul 28, 2024 at 1:40 PM Arseniy Krasnov
> <avkrasnov@xxxxxxxxxxxxxxxxx> wrote:
>>
>> Hi Amery
>>
>>> /* Transport features flags */
>>> /* Transport provides host->guest communication */
>>> -#define VSOCK_TRANSPORT_F_H2G 0x00000001
>>> +#define VSOCK_TRANSPORT_F_H2G 0x00000001
>>> /* Transport provides guest->host communication */
>>> -#define VSOCK_TRANSPORT_F_G2H 0x00000002
>>> -/* Transport provides DGRAM communication */
>>> -#define VSOCK_TRANSPORT_F_DGRAM 0x00000004
>>> +#define VSOCK_TRANSPORT_F_G2H 0x00000002
>>> +/* Transport provides fallback for DGRAM communication */
>>> +#define VSOCK_TRANSPORT_F_DGRAM_FALLBACK 0x00000004
>>> /* Transport provides local (loopback) communication */
>>> -#define VSOCK_TRANSPORT_F_LOCAL 0x00000008
>>> +#define VSOCK_TRANSPORT_F_LOCAL 0x00000008
>>
>> ^^^ This is refactoring ?
>>
>
> This part contains no functional change.
Ah I see, sorry )
Thanks, Arseniy
>
> Since virtio dgram uses transport_h2g/g2h instead of transport_dgram
> (renamed totransport_dgam_fallback to in this patch) of VMCI, we
> rename the flags here to describe the transport in a more accurate
> way.
>
> For a datagram vsock, during socket creation, if VMCI is present,
> transport_dgram will be registered as a fallback.
>
> During vsock_dgram_sendmsg(), we will always try to resolve the
> transport to transport_h2g/g2h/local first and then fallback on
> transport_dgram.
>
> Let me know if there is anything that is confusing here.
>
>>
>>> + /* During vsock_create(), the transport cannot be decided yet if
>>> + * using virtio. While for VMCI, it is transport_dgram_fallback.
>>
>>
>> I'm not English speaker, but 'decided' -> 'detected'/'resolved' ?
>>
>
> Not a native English speaker either, but I think resolve is also
> pretty accurate.
>
> Thanks,
> Amery
>
>>
>>
>> Thanks, Arseniy