Re: [RFC PATCH net-next v6 03/14] af_vsock: support multi-transport datagrams

From: Amery Hung
Date: Sun Jul 28 2024 - 17:54:18 EST


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.

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