package vsock

import "github.com/linuxkit/virtsock/pkg/vsock"

Package vsock provides the Linux guest bindings to VM sockets. VM sockets are a generic mechanism for guest<->host communication. It was originally developed for VMware but now also supports virtio sockets and (soon) Hyper-V sockets.

The main purpose is to provide bindings to the Linux implementation of VM sockets, based on the low level support in golang.org/x/sys/unix.

The package also provides bindings to the host interface to virtio sockets for HyperKit on macOS.

Index

Constants

const (
	// CIDAny is a wildcard CID
	CIDAny = 4294967295 // 2^32-1
	// CIDHypervisor is the reserved CID for the Hypervisor
	CIDHypervisor = 0
	// CIDHost is the reserved CID for the host system
	CIDHost = 2
)

Functions

func Listen

func Listen(cid, port uint32) (net.Listener, error)

Listen is the unimplemented fallback for unsupported OSes

func SocketMode

func SocketMode(socketMode string)

SocketMode is the unimplemented fallback for unsupported OSes

Types

type Addr

type Addr struct {
	CID  uint32
	Port uint32
}

Addr represents the address of a vsock end point.

func (Addr) Network

func (a Addr) Network() string

Network returns the network type for a Addr

func (Addr) String

func (a Addr) String() string

String returns a string representation of a Addr

type Conn

type Conn interface {
	net.Conn
	CloseRead() error
	CloseWrite() error
	File() (*os.File, error)
}

Conn is a vsock connection which supports half-close.

func Dial

func Dial(cid, port uint32) (Conn, error)

Dial is the unimplemented fallback for unsupported OSes

Source Files

fallback.go vsock.go

Version
v0.0.0-20241009230534-cb6a20cc0422 (latest)
Published
Oct 9, 2024
Platform
js/wasm
Imports
4 packages
Last checked
2 months ago

Tools for package owners.