162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Vsock protocol
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciconfig VSOCKETS
762306a36Sopenharmony_ci	tristate "Virtual Socket protocol"
862306a36Sopenharmony_ci	help
962306a36Sopenharmony_ci	  Virtual Socket Protocol is a socket protocol similar to TCP/IP
1062306a36Sopenharmony_ci	  allowing communication between Virtual Machines and hypervisor
1162306a36Sopenharmony_ci	  or host.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	  You should also select one or more hypervisor-specific transports
1462306a36Sopenharmony_ci	  below.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1762306a36Sopenharmony_ci	  will be called vsock. If unsure, say N.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciconfig VSOCKETS_DIAG
2062306a36Sopenharmony_ci	tristate "Virtual Sockets monitoring interface"
2162306a36Sopenharmony_ci	depends on VSOCKETS
2262306a36Sopenharmony_ci	default y
2362306a36Sopenharmony_ci	help
2462306a36Sopenharmony_ci	  Support for PF_VSOCK sockets monitoring interface used by the ss tool.
2562306a36Sopenharmony_ci	  If unsure, say Y.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	  Enable this module so userspace applications can query open sockets.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciconfig VSOCKETS_LOOPBACK
3062306a36Sopenharmony_ci	tristate "Virtual Sockets loopback transport"
3162306a36Sopenharmony_ci	depends on VSOCKETS
3262306a36Sopenharmony_ci	default y
3362306a36Sopenharmony_ci	select VIRTIO_VSOCKETS_COMMON
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  This module implements a loopback transport for Virtual Sockets,
3662306a36Sopenharmony_ci	  using vmw_vsock_virtio_transport_common.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3962306a36Sopenharmony_ci	  will be called vsock_loopback. If unsure, say N.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciconfig VMWARE_VMCI_VSOCKETS
4262306a36Sopenharmony_ci	tristate "VMware VMCI transport for Virtual Sockets"
4362306a36Sopenharmony_ci	depends on VSOCKETS && VMWARE_VMCI
4462306a36Sopenharmony_ci	help
4562306a36Sopenharmony_ci	  This module implements a VMCI transport for Virtual Sockets.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	  Enable this transport if your Virtual Machine runs on a VMware
4862306a36Sopenharmony_ci	  hypervisor.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
5162306a36Sopenharmony_ci	  will be called vmw_vsock_vmci_transport. If unsure, say N.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciconfig VIRTIO_VSOCKETS
5462306a36Sopenharmony_ci	tristate "virtio transport for Virtual Sockets"
5562306a36Sopenharmony_ci	depends on VSOCKETS && VIRTIO
5662306a36Sopenharmony_ci	select VIRTIO_VSOCKETS_COMMON
5762306a36Sopenharmony_ci	help
5862306a36Sopenharmony_ci	  This module implements a virtio transport for Virtual Sockets.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci	  Enable this transport if your Virtual Machine host supports Virtual
6162306a36Sopenharmony_ci	  Sockets over virtio.
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
6462306a36Sopenharmony_ci	  called vmw_vsock_virtio_transport. If unsure, say N.
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ciconfig VIRTIO_VSOCKETS_COMMON
6762306a36Sopenharmony_ci	tristate
6862306a36Sopenharmony_ci	help
6962306a36Sopenharmony_ci	  This option is selected by any driver which needs to access
7062306a36Sopenharmony_ci	  the virtio_vsock.  The module will be called
7162306a36Sopenharmony_ci	  vmw_vsock_virtio_transport_common.
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ciconfig HYPERV_VSOCKETS
7462306a36Sopenharmony_ci	tristate "Hyper-V transport for Virtual Sockets"
7562306a36Sopenharmony_ci	depends on VSOCKETS && HYPERV
7662306a36Sopenharmony_ci	help
7762306a36Sopenharmony_ci	  This module implements a Hyper-V transport for Virtual Sockets.
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci	  Enable this transport if your Virtual Machine host supports Virtual
8062306a36Sopenharmony_ci	  Sockets over Hyper-V VMBus.
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
8362306a36Sopenharmony_ci	  called hv_sock. If unsure, say N.
84