[PATCH net-next 0/3] add Hyper-V transport for Virtual Sockets

From: Dexuan Cui
Date: Tue Aug 15 2017 - 18:03:17 EST



Hyper-V Sockets (hv_sock) supplies a byte-stream based communication
mechanism between the host and the guest. It uses VMBus ringbuffer as the
transportation layer.

PATCH 01 and 02 are for VMCI and the common infrastructure vsock.

PATCH 03 implements the necessary support in Linux guest by introducing a
new vsock transport for AF_VSOCK.

Please review them.

Note: there are some other supporting fixes in the VMBus driver. I'll
post them separately for the char-misc tree.


PS, there was an old implementation of Hyper-V Sockets posted last year:
https://patchwork.kernel.org/patch/9244467/, which was not accepted. The
biggest challenge was that why Hyper-V Sockets required a new address
family, and I explained that was because of its different end point format.

Compared to the old implementation, this new implementation maps Hyper-V
Sockets end point format <GUID VmID, GUID ServiceID> to vsock's
<int cid, int port>, and hence it manages to share the common vsock
infrastructure to greatly reduce duplicate code, and avoid adding a new
address family. The details are documented in PATCH 03.

Dexuan Cui (3):
VMCI: only load on VMware hypervisor
vsock: fix vsock_dequeue/enqueue_accept race
hv_sock: implements Hyper-V transport for Virtual Sockets (AF_VSOCK)

MAINTAINERS | 1 +
drivers/misc/vmw_vmci/vmci_driver.c | 8 +
net/vmw_vsock/Kconfig | 12 +
net/vmw_vsock/Makefile | 3 +
net/vmw_vsock/af_vsock.c | 7 +
net/vmw_vsock/hyperv_transport.c | 890 ++++++++++++++++++++++++++++++++++++
6 files changed, 921 insertions(+)
create mode 100644 net/vmw_vsock/hyperv_transport.c

--
2.7.4