On Fri, 18 Jun 2010 13:26:27 -0300 Miguel Di Ciurcio Filho <miguel.fi...@gmail.com> wrote:
> These commands show the information about active backend network devices. > > Signed-off-by: Miguel Di Ciurcio Filho <miguel.fi...@gmail.com> > --- > qemu-monitor.hx | 105 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 105 insertions(+), 0 deletions(-) > > diff --git a/qemu-monitor.hx b/qemu-monitor.hx > index 9f62b94..8fc5ed6 100644 > --- a/qemu-monitor.hx > +++ b/qemu-monitor.hx > @@ -1674,6 +1674,111 @@ show the various VLANs and the associated devices > ETEXI > > STEXI > +...@item info netdev > +show information about the current backend network devices > +ETEXI > +SQMP > +query-netdev > +------------ > + > +Each device is represented by a json-object. The returned value is a > json-array > +of all devices. > + > +Each json-object contains the following: > + > +- "id": the device's ID, must be unique (json-string) There were some talking about changing this to 'device. Jan, Markus? > +- "type": device type (json-string) > + - Possible values: "tap", "user", "vde", "socket" > +- "vlan": QEMU's internal vlan identification. Only present if the device is > + attached to a VLAN (json-int, optional) > +- "peer": ID of the frontend device when on a 1:1 relationship (json-string, > + optional) > +- "info": json-object containing the configuration information about the > device. > + - When "type" is "tap", the following values might be available: > + - "fd": available if connected to an already opened TAP interface > + (json-int, optional) > + - "script": path to an script used to configure the interface, if > + the value is "no" then no script is used. (json-string, only > + present if "fd" is not present) What if the script is called "no"? Better not to include the key in this case. > + - "downscript": path to an script used to deconfigure the > interface, > + if the value is "no" then no script is used. (json-string, only > + present if "fd" is not present) Same as above. > + - "ifname": name of the attached host interface (json-string, > only > + present if "fd" is not present) > + - "vhost": vhost acceleration status, true if enabled, false > + otherwise (json-boolean) > + - "vnet_hdr": true if the IFF_VNET_HDR flag must be set, false > + otherwise (json-boolean) Why is vnet_hdr important? > + - "vhostfd": positive number if the device is connected to an > + already opened vhost net device, -1 otherwise (json-int) Making the key option is better, IMO. > + - "sndbuf": send buffer size, in bytes (json-int) > + - When "type" is "vde", the following values might be available: > + - "sock": path to the VDE listening socket (json-string) > + - "port": port number connected to virtual switch (json-int) > + - "group": group name (json-string) > + - "mode": permission mode, in octal (json-int) > + - When "type" is "user", the following values might be available: > + - "hostname": client hostname reported by the builtin DHCP > server, > + (json-string, optional) > + - "restrict": true if guest is isolated from the host, > + false otherwise (json-boolean) > + - "net": network address (json-string) > + - "netmask": netmask (json-string) > + - "host": guest-visible address of the host (json-string) > + - "tftp": root directory of the built-in TFTP server > (json-string, > + optional) > + - "bootfile": BOOTP filename (json-string, optional) > + - "dhcpstart": the first of the 16 IPs the built-in DHCP server > can > + assign (json-string) > + - "dns": guest-visible address of the virtual nameserver > + (json-string) > + - "smb": root directory of the built-in SMB server (json-string, > + optional) > + - "smbserver": IP address of the built-in SMB server > (json-string, > + optional) > + - "hostfwd": guest port number to forward incoming TCP or UDP > + connections (json-int, optional) > + - "guestfwd": IP address and port to forward guest TCP > connections > + (json-int, optional) > + - When "type" is "socket", the following values might be available: > + - "host": IP address (json-string) > + - "service": port number (json-int) > + - "family": IP version, possible values "ipv4" or "ipv6" > + (json-string) > + - "server": true if the socket is receiving incoming connections, > + false otherwise (json-boolean) > + > +Example: > + > +-> { "execute": "query-netdev" } > +<- { > + "return": [ > + { > + "id": "tap.0", > + "type": "tap", > + "vlan": 0, > + "info": { > + "script": "/etc/qemu-ifup", > + "downscript": "/etc/qemu-ifdown", > + "ifname": "tap0", > + "vhost": true > + }, > + }, > + { > + "id": "user.0", > + "type": "user", > + "peer": "e1000.0", > + "info": { > + "net": "10.0.2.0", > + "netmask": "255.255.255.0" > + }, > + }, > + ] > + } > + > +EQMP > + > +STEXI > @item info chardev > show the character devices > ETEXI