virsh: add interface information to guestinfo command

The new parameter group returns information about network interfaces

Signed-off-by: zhanglei <zhanglei@smartx.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
zhanglei 2021-10-15 18:07:48 +08:00 committed by Ján Tomko
parent 348758b1b5
commit c6d009620a
2 changed files with 16 additions and 2 deletions

View File

@ -2700,7 +2700,7 @@ guestinfo
:: ::
guestinfo domain [--user] [--os] [--timezone] [--hostname] [--filesystem] guestinfo domain [--user] [--os] [--timezone] [--hostname] [--filesystem]
[--disk] [--disk] [--interface]
Print information about the guest from the point of view of the guest agent. Print information about the guest from the point of view of the guest agent.
Note that this command requires a guest agent to be configured and running in Note that this command requires a guest agent to be configured and running in
@ -2711,7 +2711,7 @@ are supported by the guest agent. You can limit the types of information that
are returned by specifying one or more flags. If a requested information are returned by specifying one or more flags. If a requested information
type is not supported, the processes will provide an exit code of 1. type is not supported, the processes will provide an exit code of 1.
Available information types flags are *--user*, *--os*, Available information types flags are *--user*, *--os*,
*--timezone*, *--hostname*, *--filesystem* and *--disk*. *--timezone*, *--hostname*, *--filesystem*, *--disk* and *--interface*.
Note that depending on the hypervisor type and the version of the guest agent Note that depending on the hypervisor type and the version of the guest agent
running within the domain, not all of the following information may be running within the domain, not all of the following information may be
@ -2779,6 +2779,14 @@ returned:
* ``disk.<num>.alias`` - the device alias of the disk (e.g. sda) * ``disk.<num>.alias`` - the device alias of the disk (e.g. sda)
* ``disk.<num>.guest_alias`` - optional alias assigned to the disk * ``disk.<num>.guest_alias`` - optional alias assigned to the disk
*--interface* returns:
* ``if.count`` - the number of interfaces defined on this domain
* ``if.<num>.name`` - name in the guest (e.g. ``eth0``) for interface <num>
* ``if.<num>.hwaddr`` - hardware address in the guest for interface <num>
* ``if.<num>.addr.count`` - the number of IP addresses of interface <num>
* ``if.<num>.addr.<num1>.type`` - the IP address type of addr <num1> (e.g. ipv4)
* ``if.<num>.addr.<num1>.addr`` - the IP address of addr <num1>
* ``if.<num>.addr.<num1>.prefix`` - the prefix of IP address of addr <num1>
guestvcpus guestvcpus
---------- ----------

View File

@ -14077,6 +14077,10 @@ static const vshCmdOptDef opts_guestinfo[] = {
.type = VSH_OT_BOOL, .type = VSH_OT_BOOL,
.help = N_("report disk information"), .help = N_("report disk information"),
}, },
{.name = "interface",
.type = VSH_OT_BOOL,
.help = N_("report interface information"),
},
{.name = NULL} {.name = NULL}
}; };
@ -14102,6 +14106,8 @@ cmdGuestInfo(vshControl *ctl, const vshCmd *cmd)
types |= VIR_DOMAIN_GUEST_INFO_FILESYSTEM; types |= VIR_DOMAIN_GUEST_INFO_FILESYSTEM;
if (vshCommandOptBool(cmd, "disk")) if (vshCommandOptBool(cmd, "disk"))
types |= VIR_DOMAIN_GUEST_INFO_DISKS; types |= VIR_DOMAIN_GUEST_INFO_DISKS;
if (vshCommandOptBool(cmd, "interface"))
types |= VIR_DOMAIN_GUEST_INFO_INTERFACES;
if (!(dom = virshCommandOptDomain(ctl, cmd, NULL))) if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
return false; return false;