Documentation ¶
Index ¶
- Constants
- type CapabilitiesRequest
- type CapabilitiesRequestArguments
- type Capability
- type ContRequest
- type ContResponse
- type ErrorResponse
- type EventType
- type Greeting
- type GreetingRequest
- type GreetingResponse
- type GreetingVersion
- type GreetingVersionTriple
- type InetSocketAddress
- type KvmInfo
- type NetClientDriver
- type NetLegacyNicOptions
- type NetdevAddDevBridgeRequest
- type NetdevAddDevDgramRequest
- type NetdevAddDevHubPortRequest
- type NetdevAddDevL2TPv3Request
- type NetdevAddDevNetmapRequest
- type NetdevAddDevSocketRequest
- type NetdevAddDevStreamRequest
- type NetdevAddDevTapRequest
- type NetdevAddDevUserRequest
- type NetdevAddDevVdeRequest
- type NetdevAddDevVhostUserRequest
- type NetdevAddDevVhostVDPARequest
- type NetdevAddDevVmnetBridgedRequest
- type NetdevAddDevVmnetHostRequest
- type NetdevAddDevVmnetSharedRequest
- type NetdevAddLegacyNicRequest
- type NetdevBridgeOptions
- type NetdevDelRequest
- type NetdevDelRequestArguments
- type NetdevDgramOptions
- type NetdevHubPortOptions
- type NetdevL2TPv3Options
- type NetdevNetmapOptions
- type NetdevSocketOptions
- type NetdevStreamOptions
- type NetdevTapOptions
- type NetdevUserOptions
- type NetdevVdeOptions
- type NetdevVhostUserOptions
- type NetdevVhostVDPAOptions
- type NetdevVmnetBridgedOptions
- type NetdevVmnetHostOptions
- type NetdevVmnetSharedOptions
- type QEMUMachineProtocolClient
- func (c *QEMUMachineProtocolClient) Capabilities(req CapabilitiesRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) Close() error
- func (c *QEMUMachineProtocolClient) Cont(req ContRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) Greeting() (*GreetingResponse, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevBridge(req NetdevAddDevBridgeRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevDgram(req NetdevAddDevDgramRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevHubPort(req NetdevAddDevHubPortRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevL2TPv3(req NetdevAddDevL2TPv3Request) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevNetmap(req NetdevAddDevNetmapRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevSocket(req NetdevAddDevSocketRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevStream(req NetdevAddDevStreamRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevTap(req NetdevAddDevTapRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevUser(req NetdevAddDevUserRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevVde(req NetdevAddDevVdeRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevVhostUser(req NetdevAddDevVhostUserRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevVhostVDPA(req NetdevAddDevVhostVDPARequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevVmnetBridged(req NetdevAddDevVmnetBridgedRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevVmnetHost(req NetdevAddDevVmnetHostRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddDevVmnetShared(req NetdevAddDevVmnetSharedRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevAddLegacyNic(req NetdevAddLegacyNicRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) NetdevDel(req NetdevDelRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) QueryKvm(req QueryKvmRequest) (*QueryKvmResponse, error)
- func (c *QEMUMachineProtocolClient) QueryRxFilter(req QueryRxFilterRequest) (*QueryRxFilterResponse, error)
- func (c *QEMUMachineProtocolClient) QueryStatus(req QueryStatusRequest) (*QueryStatusResponse, error)
- func (c *QEMUMachineProtocolClient) Quit(req QuitRequest) (*QuitResponse, error)
- func (c *QEMUMachineProtocolClient) SetLink(req SetLinkRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) Stop(req StopRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) SystemPowerdown(req SystemPowerdownRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) SystemReset(req SystemResetRequest) (*any, error)
- func (c *QEMUMachineProtocolClient) SystemWakeup(req SystemWakeupRequest) (*any, error)
- type QueryKvmRequest
- type QueryKvmResponse
- type QueryRxFilterRequest
- type QueryRxFilterRequestArguments
- type QueryRxFilterResponse
- type QueryStatusRequest
- type QueryStatusResponse
- type QuitRequest
- type QuitResponse
- type RunState
- type RxState
- type SetLinkRequest
- type SetLinkRequestArguments
- type ShutdownCause
- type SocketAddress
- type SocketAddressType
- type StatusInfo
- type StopRequest
- type StopResponse
- type SystemPowerdownRequest
- type SystemResetRequest
- type SystemWakeupRequest
- type UnixSocketAddress
- type VsockSocketAddress
Constants ¶
const ( EVENT_ACPI_DEVICE_OST = EventType("ACPI_DEVICE_OST") EVENT_BALLOON_CHANGE = EventType("BALLOON_CHANGE") EVENT_BLOCK_IMAGE_CORRUPTED = EventType("BLOCK_IMAGE_CORRUPTED") EVENT_BLOCK_IO_ERROR = EventType("BLOCK_IO_ERROR") EVENT_BLOCK_JOB_CANCELLED = EventType("BLOCK_JOB_CANCELLED") EVENT_BLOCK_JOB_COMPLETED = EventType("BLOCK_JOB_COMPLETED") EVENT_BLOCK_JOB_ERROR = EventType("BLOCK_JOB_ERROR") EVENT_BLOCK_JOB_PENDING = EventType("BLOCK_JOB_PENDING") EVENT_BLOCK_JOB_READY = EventType("BLOCK_JOB_READY") EVENT_DEVICE_DELETED = EventType("DEVICE_DELETED") EVENT_DEVICE_TRAY_MOVED = EventType("DEVICE_TRAY_MOVED") EVENT_DEVICE_UNPLUG_GUEST_ERROR = EventType("DEVICE_UNPLUG_GUEST_ERROR") EVENT_DUMP_COMPLETED = EventType("DUMP_COMPLETED") EVENT_FAILOVER_NEGOTIATED = EventType("FAILOVER_NEGOTIATED") EVENT_GUEST_CRASHLOADED = EventType("GUEST_CRASHLOADED") EVENT_GUEST_PANICKED = EventType("GUEST_PANICKED") EVENT_MEM_UNPLUG_ERRO = EventType("MEM_UNPLUG_ERRO") EVENT_MEMORY_DEVICE_SIZE_CHANGE = EventType("MEMORY_DEVICE_SIZE_CHANGE") EVENT_MEMORY_FAILURE = EventType("MEMORY_FAILURE") EVENT_NIC_RX_FILTER_CHANGED = EventType("NIC_RX_FILTER_CHANGED") EVENT_POWERDOWN = EventType("POWERDOWN") EVENT_PR_MANAGER_STATUS_CHANGED = EventType("PR_MANAGER_STATUS_CHANGED") EVENT_QUORUM_FAILURE = EventType("QUORUM_FAILURE") EVENT_RESET = EventType("RESET") EVENT_RESUME = EventType("RESUME") EVENT_SHUTDOWN = EventType("SHUTDOWN") EVENT_STOP = EventType("STOP") EVENT_SUSPEND = EventType("SUSPEND") EVENT_UNPLUG_PRIMARY = EventType("UNPLUG_PRIMARY") EVENT_VFU_CLIENT_HANGUP = EventType("VFU_CLIENT_HANGUP") EVENT_VNC_CONNECTED = EventType("VNC_CONNECTED") EVENT_VNC_DISCONNECTED = EventType("VNC_DISCONNECTED") EVENT_VSERPORT_CHANGE = EventType("VSERPORT_CHANGE") EVENT_WAKEUP = EventType("WAKEUP") EVENT_WATCHDOG = EventType("WATCHDOG") )
const ( NET_CLIENT_DRIVER_NONE = NetClientDriver("none") NET_CLIENT_DRIVER_NIC = NetClientDriver("nic") NET_CLIENT_DRIVER_USER = NetClientDriver("user") NET_CLIENT_DRIVER_TAP = NetClientDriver("tap") NET_CLIENT_DRIVER_L2TPV3 = NetClientDriver("l2tpv3") NET_CLIENT_DRIVER_SOCKET = NetClientDriver("socket") NET_CLIENT_DRIVER_STREAM = NetClientDriver("stream") NET_CLIENT_DRIVER_DGRAM = NetClientDriver("dgram") NET_CLIENT_DRIVER_VDE = NetClientDriver("vde") NET_CLIENT_DRIVER_BRIDGE = NetClientDriver("bridge") NET_CLIENT_DRIVER_HUBPORT = NetClientDriver("hubport") NET_CLIENT_DRIVER_NETMAP = NetClientDriver("netmap") NET_CLIENT_DRIVER_VHOST_USER = NetClientDriver("vhost-user") NET_CLIENT_DRIVER_VHOST_VDPA = NetClientDriver("vhost-vdpa") )
const ( // filter assigned packets according to the mac-table RX_STATE_NORMAL = RxState("normal") // don't receive any assigned packet RX_STATE_NONE = RxState("none") // receive all assigned packets RX_STATE_ALL = RxState("all") )
const ( SHUTDOWN_NONE = ShutdownCause("none") SHUTDOWN_HOST_ERROR = ShutdownCause("host-error") SHUTDOWN_HOST_QMP_QUIT = ShutdownCause("host-qmp-quit") SHUTDOWN_HOST_QMP_SYSTEM_RESET = ShutdownCause("host-qmp-system-reset") SHUTDOWN_HOST_SIGNAL = ShutdownCause("host-signal") SHUTDOWN_HOST_UI = ShutdownCause("host-ui") SHUTDOWN_GUEST_SHUTDOWN = ShutdownCause("guest-shutdown") SHUTDOWN_GUEST_RESET = ShutdownCause("guest-reset") SHUTDOWN_GUEST_PANIC = ShutdownCause("guest-panic") SHUTDOWN_SUBSYSTEM_RESET = ShutdownCause("subsystem-reset") )
const ( RUN_STATE_COLO = RunState("colo") RUN_STATE_DEBUG = RunState("debug") RUN_STATE_FINISH_MIGRATE = RunState("finish-migrate") RUN_STATE_GUEST_PANICKED = RunState("guest-panicked") RUN_STATE_INMIGRATE = RunState("inmigrate") RUN_STATE_INTERNAL_ERROR = RunState("internal-error") RUN_STATE_IO_ERROR = RunState("io-error") RUN_STATE_PAUSED = RunState("paused") RUN_STATE_POSTMIGRATE = RunState("postmigrate") RUN_STATE_PRELAUNCH = RunState("prelaunch") RUN_STATE_RESTORE_VM = RunState("restore-vm") RUN_STATE_RUNNING = RunState("running") RUN_STATE_SAVE_VM = RunState("save-vm") RUN_STATE_SHUTDOWN = RunState("shutdown") RUN_STATE_SUSPENDED = RunState("suspended") RUN_STATE_WATCHDOG = RunState("watchdog") )
const ( // Internet address SOCKET_ADDRESS_TYPE_INET = SocketAddressType("inet") // Unix domain socket SOCKET_ADDRESS_TYPE_UNIX = SocketAddressType("unix") // VMCI address SOCKET_ADDRESS_TYPE_VSOCK = SocketAddressType("vsock") // decimal is for file descriptor number, otherwise a file descriptor name. // Named file descriptors are permitted in monitor commands, in combination // with the 'getfd' command. Decimal file descriptors are permitted at startup // or other contexts where no monitor context is active. SOCKET_ADDRESS_TYPE_FD = SocketAddressType("fd") )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CapabilitiesRequest ¶
type CapabilitiesRequest struct { Execute string `json:"execute" default:"qmp_capabilities"` Arguments CapabilitiesRequestArguments `json:"arguments,omitempty"` }
type CapabilitiesRequestArguments ¶
type CapabilitiesRequestArguments struct {
Enable []Capability `json:"enable"`
}
type Capability ¶
type Capability string
func Capabilitys ¶
func Capabilitys() []Capability
func (Capability) String ¶
func (e Capability) String() string
type ContRequest ¶
type ContRequest struct {
Execute string `json:"execute" default:"cont"`
}
type ContResponse ¶
type ContResponse struct { }
type ErrorResponse ¶
type Greeting ¶
type Greeting struct { Version GreetingVersion `json:"version"` Capabilities []Capability `json:"capabilities"` }
type GreetingRequest ¶
type GreetingRequest struct { }
type GreetingResponse ¶
type GreetingResponse struct {
Qmp Greeting `json:"QMP"`
}
type GreetingVersion ¶
type GreetingVersion struct { Qemu GreetingVersionTriple `json:"qemu"` Package string `json:"package"` }
type GreetingVersionTriple ¶
type InetSocketAddress ¶ added in v0.6.0
type InetSocketAddress struct { // host part of the address Host string `json:"host"` // port part of the address Port string `json:"port"` // true if the host/port are guaranteed to be numeric, false if name // resolution should be attempted. Defaults to false. (Since 2.9) Numeric bool `json:"numeric"` // If present, this is range of possible addresses, with port between `port` // and `to`. To int32 `json:"to"` // whether to accept IPv4 addresses, default try both IPv4 and IPv6 Ipv4 bool `json:"ipv4"` // whether to accept IPv6 addresses, default try both IPv4 and IPv6 Ipv6 bool `json:"ipv6"` // enable keep-alive when connecting to this socket. Not supported for // passive sockets. (Since 4.2) KeepAlive bool `json:"keep-alive"` // enable multi-path TCP. (Since 6.1) Mptcp bool `json:"mptcp"` }
Captures a socket address or address range in the Internet namespace.
Since: 1.3
type NetClientDriver ¶ added in v0.6.0
type NetClientDriver string
Available netdev drivers.
func NetClientDrivers ¶ added in v0.6.0
func NetClientDrivers() []NetClientDriver
func (NetClientDriver) String ¶ added in v0.6.0
func (e NetClientDriver) String() string
type NetLegacyNicOptions ¶ added in v0.6.0
type NetLegacyNicOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // id of -netdev to connect to Netdev string `json:"netdev"` // MAC address Macaddr string `json:"macaddr"` // device model (e1000, rtl8139, virtio etc.) Model string `json:"model"` // PCI device address Addr string `json:"addr"` // number of MSI-x vectors, 0 to disable MSI-X Vectors uint32 `json:"vectors"` }
Create a new Network Interface Card.
Since: 1.2
type NetdevAddDevBridgeRequest ¶ added in v0.6.0
type NetdevAddDevBridgeRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevBridgeOptions `json:"arguments"` }
type NetdevAddDevDgramRequest ¶ added in v0.6.0
type NetdevAddDevDgramRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevDgramOptions `json:"arguments"` }
type NetdevAddDevHubPortRequest ¶ added in v0.6.0
type NetdevAddDevHubPortRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevHubPortOptions `json:"arguments"` }
type NetdevAddDevL2TPv3Request ¶ added in v0.6.0
type NetdevAddDevL2TPv3Request struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevL2TPv3Options `json:"arguments"` }
type NetdevAddDevNetmapRequest ¶ added in v0.6.0
type NetdevAddDevNetmapRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevNetmapOptions `json:"arguments"` }
type NetdevAddDevSocketRequest ¶ added in v0.6.0
type NetdevAddDevSocketRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevSocketOptions `json:"arguments"` }
type NetdevAddDevStreamRequest ¶ added in v0.6.0
type NetdevAddDevStreamRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevStreamOptions `json:"arguments"` }
type NetdevAddDevTapRequest ¶ added in v0.6.0
type NetdevAddDevTapRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevTapOptions `json:"arguments"` }
type NetdevAddDevUserRequest ¶ added in v0.6.0
type NetdevAddDevUserRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevUserOptions `json:"arguments"` }
type NetdevAddDevVdeRequest ¶ added in v0.6.0
type NetdevAddDevVdeRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevVdeOptions `json:"arguments"` }
type NetdevAddDevVhostUserRequest ¶ added in v0.6.0
type NetdevAddDevVhostUserRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevVhostUserOptions `json:"arguments"` }
type NetdevAddDevVhostVDPARequest ¶ added in v0.6.0
type NetdevAddDevVhostVDPARequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevVhostVDPAOptions `json:"arguments"` }
type NetdevAddDevVmnetBridgedRequest ¶ added in v0.6.0
type NetdevAddDevVmnetBridgedRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevVmnetBridgedOptions `json:"arguments"` }
type NetdevAddDevVmnetHostRequest ¶ added in v0.6.0
type NetdevAddDevVmnetHostRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetdevVmnetHostOptions `json:"arguments"` }
type NetdevAddDevVmnetSharedRequest ¶ added in v0.6.0
type NetdevAddDevVmnetSharedRequest struct {}
type NetdevAddLegacyNicRequest ¶ added in v0.6.0
type NetdevAddLegacyNicRequest struct { Execute string `json:"execute" default:"netdev_add"` Arguments NetLegacyNicOptions `json:"arguments"` }
type NetdevBridgeOptions ¶ added in v0.6.0
type NetdevBridgeOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // bridge name Br string `json:"br"` // command to execute to configure bridge Helper string `json:"helper"` }
Connect a host TAP network interface to a host bridge device.
Since: 1.2
type NetdevDelRequest ¶ added in v0.6.0
type NetdevDelRequest struct { Execute string `json:"execute" default:"netdev_del"` Arguments NetdevDelRequestArguments `json:"arguments"` }
type NetdevDelRequestArguments ¶ added in v0.6.0
type NetdevDelRequestArguments struct {
Id string `json:"id"`
}
type NetdevDgramOptions ¶ added in v0.6.0
type NetdevDgramOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // local address Local SocketAddress `json:"local"` // remote address Remote SocketAddress `json:"remote"` }
Configuration info for datagram socket netdev.
Only SocketAddress types 'unix', 'inet' and 'fd' are supported.
If remote address is present and it's a multicast address, local address is optional. Otherwise local address is required and remote address is optional.
.. table:: Valid parameters combination table
:widths: auto ============= ======== ===== remote local okay? ============= ======== ===== absent absent no absent not fd no absent fd yes multicast absent yes multicast present yes not multicast absent no not multicast present yes ============= ======== =====
Since: 7.2
type NetdevHubPortOptions ¶ added in v0.6.0
type NetdevHubPortOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // hub identifier number Hubid int32 `json:"hubid"` // used to connect hub to a netdev instead of a device (since 2.12) Netdev string `json:"netdev"` }
Connect two or more net clients through a software hub.
Since: 1.2
type NetdevL2TPv3Options ¶ added in v0.6.0
type NetdevL2TPv3Options struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // source address Src string `json:"src"` // destination address Dst string `json:"dst"` // source port - mandatory for udp, optional for ip Srcport string `json:"srcport"` // destination port - mandatory for udp, optional for ip Dstport string `json:"dstport"` // force the use of ipv6 Ipv6 bool `json:"ipv6"` // use the udp version of l2tpv3 encapsulation Udp bool `json:"udp"` // use 64 bit cookies Cookie64 bool `json:"cookie64"` // have sequence counter Counter bool `json:"counter"` // pin sequence counter to zero - workaround for buggy implementations or // networks with packet reorder Pincounter bool `json:"pincounter"` Txcookie uint64 `json:"txcookie"` Rxcookie uint64 `json:"rxcookie"` // 32 bit transmit session Txsession uint32 `json:"txsession"` // 32 bit receive session - if not specified set to the same value as transmit Rxsession uint32 `json:"rxsession"` // additional offset - allows the insertion of additional application-specific // data before the packet payload Offset uint32 `json:"offset"` }
Configure an Ethernet over L2TPv3 tunnel.
Since: 2.1
type NetdevNetmapOptions ¶ added in v0.6.0
type NetdevNetmapOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // Either the name of an existing network interface supported by netmap, or // the name of a VALE port (created on the fly). A VALE port name is in the // form 'valeXXX:YYY', where XXX and YYY are non-negative integers. XXX // identifies a switch and YYY identifies a port of the switch. VALE ports // having the same XXX are therefore connected to the same switch. Ifname string `json:"ifname"` // path of the netmap device (default: '/dev/netmap'). Devname string `json:"devname"` }
Connect a client to a netmap-enabled NIC or to a VALE switch port
Since: 2.0
type NetdevSocketOptions ¶ added in v0.6.0
type NetdevSocketOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // file descriptor of an already opened socket Fd string `json:"fd"` // port number, and optional hostname, to listen on Listen string `json:"listen"` // port number, and optional hostname, to connect to Connect string `json:"connect"` // UDP multicast address and port number Mcast string `json:"mcast"` // source address and port for multicast and udp packets Localaddr string `json:"localaddr"` // UDP unicast address and port number Udp string `json:"udp"` }
Socket netdevs are used to establish a network connection to another QEMU virtual machine via a TCP socket.
Since: 1.2
type NetdevStreamOptions ¶ added in v0.6.0
type NetdevStreamOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // socket address to listen on (server=true) or connect to (server=false) Addr SocketAddress `json:"addr"` // create server socket (default: false) Server bool `json:"server"` }
Configuration info for stream socket netdev
Only SocketAddress types 'unix', 'inet' and 'fd' are supported.
Since: 7.2
type NetdevTapOptions ¶ added in v0.6.0
type NetdevTapOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // interface name Ifname string `json:"ifname"` // file descriptor of an already opened tap Fd string `json:"fd"` // multiple file descriptors of already opened multiqueue capable tap Fds string `json:"fds"` // script to initialize the interface Script string `json:"script"` // script to shut down the interface Downscript string `json:"downscript"` // bridge name (since 2.8) Br string `json:"br"` // command to execute to configure bridge Helper string `json:"helper"` // send buffer limit. Understands [TGMKkb] suffixes. Sndbuf uint64 `json:"sndbuf"` // enable the IFF_VNET_HDR flag on the tap interface VnetHdr bool `json:"vnet_hdr"` // enable vhost-net network accelerator Vhost bool `json:"vhost"` // file descriptor of an already opened vhost net device Vhostfd string `json:"vhostfd"` // file descriptors of multiple already opened vhost net devices Vhostfds string `json:"vhostfds"` // vhost on for non-MSIX virtio guests Vhostforce bool `json:"vhostforce"` // number of queues to be created for multiqueue capable tap Queues uint32 `json:"queues"` // maximum number of microseconds that could be spent on busy polling for tap // (since 2.7) PollUs uint32 `json:"poll-us"` }
Used to configure a host TAP network interface backend.
Since: 1.2
type NetdevUserOptions ¶ added in v0.6.0
type NetdevUserOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // client hostname reported by the builtin DHCP server Hostname string `json:"hostname"` // isolate the guest from the host Restrict bool `json:"restrict"` // whether to support IPv4, default true for enabled (since 2.6) Ipv4 bool `json:"ipv4"` // whether to support IPv6, default true for enabled (since 2.6) Ipv6 bool `json:"ipv6"` // legacy parameter, use net= instead Ip string `json:"ip"` // IP network address that the guest will see, in the form addr[/netmask] The // netmask is optional, and can be either in the form a.b.c.d or as a number // of valid top-most bits. Default is 10.0.2.0/24. Net string `json:"net"` // guest-visible address of the host Host string `json:"host"` // root directory of the built-in TFTP server Tftp string `json:"tftp"` // BOOTP filename, for use with tftp= Bootfile string `json:"bootfile"` // the first of the 16 IPs the built-in DHCP server can assign Dhcpstart string `json:"dhcpstart"` // guest-visible address of the virtual nameserver Dns string `json:"dns"` // list of DNS suffixes to search, passed as DHCP option to the guest Dnssearch string `json:"dnssearch"` // guest-visible domain name of the virtual nameserver (since 3.0) Domainname string `json:"domainname"` // IPv6 network prefix (default is fec0::) (since 2.6). The network prefix is // given in the usual hexadecimal IPv6 address notation. Ipv6Prefix string `json:"ipv6-prefix"` // IPv6 network prefix length (default is 64) (since 2.6) Ipv6Prefixlen int64 `json:"ipv6-prefixlen"` // guest-visible IPv6 address of the host (since 2.6) Ipv6Host string `json:"ipv6-host"` // guest-visible IPv6 address of the virtual nameserver (since 2.6) Ipv6Dns string `json:"ipv6-dns"` // root directory of the built-in SMB server Smb string `json:"smb"` // IP address of the built-in SMB server Smbserver string `json:"smbserver"` // redirect incoming TCP or UDP host connections to guest endpoints Hostfwd string `json:"hostfwd"` // forward guest TCP connections Guestfwd string `json:"guestfwd"` // RFC2132 "TFTP server name" string (Since 3.1) TftpServerName string `json:"tftp-server-name"` }
Use the user mode network stack which requires no administrator privilege to run.
Since: 1.2
type NetdevVdeOptions ¶ added in v0.6.0
type NetdevVdeOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // socket path Sock string `json:"sock"` // port number Port int32 `json:"port"` // group owner of socket Group string `json:"group"` // permissions for socket Mode int32 `json:"mode"` }
Connect to a vde switch running on the host.
Since: 1.2
type NetdevVhostUserOptions ¶ added in v0.6.0
type NetdevVhostUserOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // name of a unix socket chardev Chardev string `json:"chardev"` // vhost on for non-MSIX virtio guests (default: false). Vhostforce bool `json:"vhostforce"` // number of queues to be created for multiqueue vhost-user (default: 1) // (Since 2.5) Queues int32 `json:"queues"` }
Vhost-user network backend
Since: 2.1
type NetdevVhostVDPAOptions ¶ added in v0.6.0
type NetdevVhostVDPAOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // path of vhost-vdpa device (default:'/dev/vhost-vdpa-0') Vhostdev string `json:"vhostdev"` // file descriptor of an already opened vhost vdpa device Vhostfd string `json:"vhostfd"` // number of queues to be created for multiqueue vhost-vdpa (default: 1) Queues int32 `json:"queues"` // Start device with (experimental) shadow virtqueue. (Since 7.1) (default: // false). `x-svq` is experimental. XSvq bool `json:"x-svq"` }
Vhost-vdpa network backend
vDPA device is a device that uses a datapath which complies with the virtio specifications with a vendor specific control path.
Since: 5.1
type NetdevVmnetBridgedOptions ¶ added in v0.6.0
type NetdevVmnetBridgedOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // The name of the physical interface to be bridged. Ifname string `json:"ifname"` // Enable isolation for this interface. Interface isolation ensures that vmnet // interface is not able to communicate with any other vmnet interfaces. Only // communication with host is allowed. Requires at least macOS Big Sur 11.0. Isolated bool `json:"isolated"` }
vmnet (bridged mode) network backend.
Bridges the vmnet interface with a physical network interface.
Since: 7.1
type NetdevVmnetHostOptions ¶ added in v0.6.0
type NetdevVmnetHostOptions struct { // identifier for monitor commands. Id string `json:"id"` // Specify the driver used for interpreting remaining arguments. Type NetClientDriver `json:"type"` // The starting IPv4 address to use for the interface. Must be in the private // IP range (RFC 1918). Must be specified along with @end-address and // @subnet-mask. This address is used as the gateway address. The subsequent // address up to and including end-address are placed in the DHCP pool. StartAddress string `json:"start-address"` // The DHCP IPv4 range end address to use for the interface. Must be in the // private IP range (RFC 1918). Must be specified along with @start-address // and @subnet-mask. EndAddress string `json:"end-address"` // The IPv4 subnet mask to use on the interface. Must be specified along with // @start-address and @subnet-mask. SubnetMask string `json:"subnet-mask"` // Enable isolation for this interface. Interface isolation ensures that vmnet // interface is not able to communicate with any other vmnet interfaces. Only // communication with host is allowed. Requires at least macOS Big Sur 11.0. Isolated bool `json:"isolated"` // The identifier (UUID) to uniquely identify the isolated network vmnet // interface should be added to. If set, no DHCP service is provided for this // interface and network communication is allowed only with other interfaces // added to this network identified by the UUID. Requires at least macOS Big // Sur 11.0. NetUuid string `json:"net-uuid"` }
vmnet (host mode) network backend.
Allows the vmnet interface to communicate with other vmnet interfaces that are in host mode and also with the host.
Since: 7.1
type NetdevVmnetSharedOptions ¶ added in v0.6.0
type NetdevVmnetSharedOptions struct { string `json:"id"` Type NetClientDriver `json:"type"` // IP range (RFC 1918). Must be specified along with @end-address and // @subnet-mask. This address is used as the gateway address. The subsequent // address up to and including end-address are placed in the DHCP pool. StartAddress string `json:"start-address"` // private IP range (RFC 1918). Must be specified along with @start-address // and @subnet-mask. EndAddress string `json:"end-address"` // @start-address and @subnet-mask. SubnetMask string `json:"subnet-mask"` // interface is not able to communicate with any other vmnet interfaces. Only // communication with host is allowed. Requires at least macOS Big Sur 11.0. Isolated bool `json:"isolated"` // i.e. start with fd00::/8 and have length of 64. Nat66Prefix string `json:"nat66-prefix"` }Id
vmnet (shared mode) network backend.
Allows traffic originating from the vmnet interface to reach the Internet through a network address translator (NAT). The vmnet interface can communicate with the host and with other shared mode interfaces on the same subnet. If no DHCP settings, subnet mask and IPv6 prefix specified, the interface can communicate with any of other interfaces in shared mode.
Since: 7.1
type QEMUMachineProtocolClient ¶
type QEMUMachineProtocolClient struct {
// contains filtered or unexported fields
}
func NewQEMUMachineProtocolClient ¶
func NewQEMUMachineProtocolClient(conn io.ReadWriteCloser) *QEMUMachineProtocolClient
func (*QEMUMachineProtocolClient) Capabilities ¶
func (c *QEMUMachineProtocolClient) Capabilities(req CapabilitiesRequest) (*any, error)
func (*QEMUMachineProtocolClient) Close ¶
func (c *QEMUMachineProtocolClient) Close() error
func (*QEMUMachineProtocolClient) Cont ¶
func (c *QEMUMachineProtocolClient) Cont(req ContRequest) (*any, error)
func (*QEMUMachineProtocolClient) Greeting ¶
func (c *QEMUMachineProtocolClient) Greeting() (*GreetingResponse, error)
func (*QEMUMachineProtocolClient) NetdevAddDevBridge ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevBridge(req NetdevAddDevBridgeRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevDgram ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevDgram(req NetdevAddDevDgramRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevHubPort ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevHubPort(req NetdevAddDevHubPortRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevL2TPv3 ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevL2TPv3(req NetdevAddDevL2TPv3Request) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevNetmap ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevNetmap(req NetdevAddDevNetmapRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevSocket ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevSocket(req NetdevAddDevSocketRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevStream ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevStream(req NetdevAddDevStreamRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevTap ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevTap(req NetdevAddDevTapRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevUser ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevUser(req NetdevAddDevUserRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevVde ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevVde(req NetdevAddDevVdeRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevVhostUser ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevVhostUser(req NetdevAddDevVhostUserRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevVhostVDPA ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevVhostVDPA(req NetdevAddDevVhostVDPARequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevVmnetBridged ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevVmnetBridged(req NetdevAddDevVmnetBridgedRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevVmnetHost ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevVmnetHost(req NetdevAddDevVmnetHostRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddDevVmnetShared ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddDevVmnetShared(req NetdevAddDevVmnetSharedRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevAddLegacyNic ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevAddLegacyNic(req NetdevAddLegacyNicRequest) (*any, error)
func (*QEMUMachineProtocolClient) NetdevDel ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) NetdevDel(req NetdevDelRequest) (*any, error)
func (*QEMUMachineProtocolClient) QueryKvm ¶
func (c *QEMUMachineProtocolClient) QueryKvm(req QueryKvmRequest) (*QueryKvmResponse, error)
func (*QEMUMachineProtocolClient) QueryRxFilter ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) QueryRxFilter(req QueryRxFilterRequest) (*QueryRxFilterResponse, error)
func (*QEMUMachineProtocolClient) QueryStatus ¶
func (c *QEMUMachineProtocolClient) QueryStatus(req QueryStatusRequest) (*QueryStatusResponse, error)
func (*QEMUMachineProtocolClient) Quit ¶
func (c *QEMUMachineProtocolClient) Quit(req QuitRequest) (*QuitResponse, error)
func (*QEMUMachineProtocolClient) SetLink ¶ added in v0.6.0
func (c *QEMUMachineProtocolClient) SetLink(req SetLinkRequest) (*any, error)
func (*QEMUMachineProtocolClient) Stop ¶
func (c *QEMUMachineProtocolClient) Stop(req StopRequest) (*any, error)
func (*QEMUMachineProtocolClient) SystemPowerdown ¶
func (c *QEMUMachineProtocolClient) SystemPowerdown(req SystemPowerdownRequest) (*any, error)
func (*QEMUMachineProtocolClient) SystemReset ¶
func (c *QEMUMachineProtocolClient) SystemReset(req SystemResetRequest) (*any, error)
func (*QEMUMachineProtocolClient) SystemWakeup ¶
func (c *QEMUMachineProtocolClient) SystemWakeup(req SystemWakeupRequest) (*any, error)
type QueryKvmRequest ¶
type QueryKvmRequest struct {
Execute string `json:"execute" default:"query-kvm"`
}
type QueryKvmResponse ¶
type QueryKvmResponse struct {
Return KvmInfo `json:"return"`
}
type QueryRxFilterRequest ¶ added in v0.6.0
type QueryRxFilterRequest struct { Execute string `json:"execute" default:"query-rx-filter"` Arguments QueryRxFilterRequestArguments `json:"arguments"` }
type QueryRxFilterRequestArguments ¶ added in v0.6.0
type QueryRxFilterRequestArguments struct {
Name string `json:"name"`
}
type QueryRxFilterResponse ¶ added in v0.6.0
type QueryRxFilterResponse struct { // net client name Name string `json:"name"` // whether promiscuous mode is enabled Promiscuous bool `json:"promiscuous"` // multicast receive state Multicast RxState `json:"multicast"` // unicast receive state Unicast RxState `json:"unicast"` // vlan receive state (Since 2.0) Vlan RxState `json:"vlan"` // whether to receive broadcast BroadcastAllowed bool `json:"broadcast-allowed"` // multicast table is overflowed or not MulticastOverflow bool `json:"multicast-overflow"` // unicast table is overflowed or not UnicastOverflow bool `json:"unicast-overflow"` // the main macaddr string MainMac string `json:"main-mac"` // a list of active vlan id VlanTable []int32 `json:"vlan-table"` // a list of unicast macaddr string UnicastTable []string `json:"unicast-table"` // a list of multicast macaddr string MulticastTable []string `json:"multicast-table"` }
Rx-filter information for a NIC.
type QueryStatusRequest ¶
type QueryStatusRequest struct {
Execute string `json:"execute" default:"query-status"`
}
type QueryStatusResponse ¶
type QueryStatusResponse struct {
Return StatusInfo `json:"return"`
}
type QuitRequest ¶
type QuitRequest struct {
Execute string `json:"execute" default:"quit"`
}
type QuitResponse ¶
type QuitResponse struct { }
type SetLinkRequest ¶ added in v0.6.0
type SetLinkRequest struct { Execute string `json:"execute" default:"set_link"` Arguments SetLinkRequestArguments `json:"arguments,omitempty"` }
type SetLinkRequestArguments ¶ added in v0.6.0
type ShutdownCause ¶
type ShutdownCause string
func ShutdownCauses ¶
func ShutdownCauses() []ShutdownCause
func (ShutdownCause) String ¶
func (e ShutdownCause) String() string
type SocketAddress ¶ added in v0.6.0
type SocketAddress struct { Type SocketAddressType `json:"type"` Inet InetSocketAddress `json:"inet"` Unix UnixSocketAddress `json:"unix"` Vsock VsockSocketAddress `json:"vsock"` Fd string `json:"fd"` }
Captures the address of a socket, which could also be a named file descriptor
Since: 2.9
type SocketAddressType ¶ added in v0.6.0
type SocketAddressType string
Available SocketAddress types
Since: 2.9
func SocketAddressTypes ¶ added in v0.6.0
func SocketAddressTypes() []SocketAddressType
func (SocketAddressType) String ¶ added in v0.6.0
func (e SocketAddressType) String() string
type StatusInfo ¶
type StopRequest ¶
type StopRequest struct {
Execute string `json:"execute" default:"stop"`
}
type StopResponse ¶
type StopResponse struct { }
type SystemPowerdownRequest ¶
type SystemPowerdownRequest struct {
Execute string `json:"execute" default:"system_powerdown"`
}
type SystemResetRequest ¶
type SystemResetRequest struct {
Execute string `json:"execute" default:"system_reset"`
}
type SystemWakeupRequest ¶
type SystemWakeupRequest struct {
Execute string `json:"execute" default:"system_Wakeup"`
}
type UnixSocketAddress ¶ added in v0.6.0
type UnixSocketAddress struct { // filesystem path to use Path string `json:"path"` // if true, this is a Linux abstract socket address. `path` will be prefixed // by a null byte, and optionally padded with null bytes. Defaults to false. // (Since 5.1) Abstract bool `json:"abstract"` // if false, pad an abstract socket address with enough null bytes to make it // fill struct sockaddr_un member sun_path. Defaults to true. (Since 5.1) Tight bool `json:"tight"` }
Captures a socket address in the local ("Unix socket") namespace.
Since: 1.3
type VsockSocketAddress ¶ added in v0.6.0
type VsockSocketAddress struct { // unique host identifier Cid string `json:"cid"` // port Port string `json:"port"` }
Captures a socket address in the vsock namespace.
Note: string types are used to allow for possible future hostname or
service resolution support.
Since: 2.8