Re: [RFC PATCH net-next v6 03/14] af_vsock: support multi-transport datagrams
From: Amery Hung <hidden>
Date: 2024-07-28 21:54:05
Also in:
bpf, kvm, linux-hyperv, lkml, virtualization
On Sun, Jul 28, 2024 at 1:40 PM Arseniy Krasnov [off-list ref] wrote:
Hi Ameryquoted
/* 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.
quoted
+ /* 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