• Stefan Hajnoczi's avatar
    VSOCK: add loopback to virtio_transport · b9116823
    Stefan Hajnoczi authored
    The VMware VMCI transport supports loopback inside virtual machines.
    This patch implements loopback for virtio-vsock.
    
    Flow control is handled by the virtio-vsock protocol as usual.  The
    sending process stops transmitting on a connection when the peer's
    receive buffer space is exhausted.
    
    Cathy Avery <cavery@redhat.com> noticed this difference between VMCI and
    virtio-vsock when a test case using loopback failed.  Although loopback
    isn't the main point of AF_VSOCK, it is useful for testing and
    virtio-vsock must match VMCI semantics so that userspace programs run
    regardless of the underlying transport.
    
    My understanding is that loopback is not supported on the host side with
    VMCI.  Follow that by implementing it only in the guest driver, not the
    vhost host driver.
    
    Cc: Jorgen Hansen <jhansen@vmware.com>
    Reported-by: default avatarCathy Avery <cavery@redhat.com>
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b9116823
virtio_transport.c 17 KB