This introduces the protocol specification for querying information about network devices available on a VM and a new monitor command that show the same information.
Signed-off-by: Miguel Di Ciurcio Filho <miguel.fi...@gmail.com> --- qemu-monitor.hx | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 69 insertions(+), 0 deletions(-) diff --git a/qemu-monitor.hx b/qemu-monitor.hx index f6a94f2..8600129 100644 --- a/qemu-monitor.hx +++ b/qemu-monitor.hx @@ -1674,6 +1674,75 @@ show the various VLANs and the associated devices ETEXI STEXI +...@item info netdevices +show information about network devices +ETEXI +SQMP +query-netdevices +---------------- + +Each device is represented by a json-object. The returned value is a json-array +of all devices. + +Each json-object contain the following: + +- "device": device name (json-string) +- "vlan": only present if the device is attached to a VLAN (json-int) +- "info": json-object containing the following: + - "model": type of the device (json-string) + - Possible values: "tap", "socket", "xen", "slirp", "dump", + "vde", "ne2k_pci", "i82551", "i82557b", + "i82559er", "rtl8139", "e1000", "pcnet", + "virtio", "dp83932", "lan9118", "mcf_fec", + "xilinx-ethlite", "lance", "stellaris", + "smc91c111", "ne2k_isa", "mv88w8618", + "mipsnet", "fseth", "dp83932", "usb" + - "macaddr": MAC address, only present if the device is a NIC + (json-string) + - "script": path to script used to configure the device, only present + if "model" is "tap" (json-string) + - "downscript": path to script used to deconfigure the device, only + present if "model" is "tap" (json-string) + - "fd": handle to the device, only present if "model" is "vde" + (json-int) + - "ifname": name of the host device connected to the guest device, + only present if "model" is "tap" (json-string) + - "host": IP address, only present if "model" is "socket" + (json-string) + - "service": port number, only present if "model" is "socket" + - "family": address familyi, only present if "model" is "socket" + (json-string) + - Possible values: "ipv4" + +Example: + +-> { "execute": "query-netdevices" } +<- { + "return": [ + { + "device": "tap.0", + "vlan": 0, + "info": { + "script": "/etc/kvm/kvm-ifup", + "downscript": "/etc/qemu-ifdown", + "ifname": "tap0", + "model": "tap" + }, + }, + { + "device": "e1000.0", + "vlan": 0, + "info": { + "model": "e1000", + "macaddr": "52:54:00:12:34:56" + }, + } + ] + } + +EQMP + +STEXI @item info chardev show the character devices ETEXI -- 1.7.1