On Thu, Nov 12, 2020 at 02:38:37PM +0100, Stefano Garzarella wrote: > Before commit c0cfa2d8a788 ("vsock: add multi-transports support"), > if a G2H transport was loaded (e.g. virtio transport), every packets > was forwarded to the host, regardless of the destination CID. > The H2G transports implemented until then (vhost-vsock, VMCI) always > responded with an error, if the destination CID was not > VMADDR_CID_HOST. > > From that commit, we are using the remote CID to decide which > transport to use, so packets with remote CID > VMADDR_CID_HOST(2) > are sent only through H2G transport. If no H2G is available, packets > are discarded directly in the guest. > > Some use cases (e.g. Nitro Enclaves [1]) rely on the old behaviour > to implement sibling VMs communication, so we restore the old > behavior when no H2G is registered. > It will be up to the host to discard packets if the destination is > not the right one. As it was already implemented before adding > multi-transport support. > > Tested with nested QEMU/KVM by me and Nitro Enclaves by Andra. > > [1] Documentation/virt/ne_overview.rst > > Cc: Jorgen Hansen > Cc: Dexuan Cui > Fixes: c0cfa2d8a788 ("vsock: add multi-transports support") > Reported-by: Andra Paraschiv > Tested-by: Andra Paraschiv > Signed-off-by: Stefano Garzarella > --- > net/vmw_vsock/af_vsock.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Acked-by: Stefan Hajnoczi