Jan Kiszka <jan.kis...@siemens.com> writes: > Include the client type name into the output of 'info network'. The > result looks like this: > > (qemu) info network > VLAN 0 devices: > rtl8139.0 (NIC): model=rtl8139,macaddr=52:54:00:12:34:57 > Devices not on any VLAN: > virtio-net-pci.0 (NIC): model=virtio-net-pci,macaddr=52:54:00:12:34:56 > \ network1 (tap): fd=5
I guess I'd prefix vc->infostr with type=WHATEVER, for consistency with the command line, like this: (qemu) info network VLAN 0 devices: rtl8139.0: type=nic,model=rtl8139,macaddr=52:54:00:12:34:57 Devices not on any VLAN: virtio-net-pci.0: type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56 \ network1: type=tap,fd=5 > > Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> > --- > net.c | 18 +++++++++++++++--- > 1 files changed, 15 insertions(+), 3 deletions(-) > > diff --git a/net.c b/net.c > index 606ce70..a4ee6b1 100644 > --- a/net.c > +++ b/net.c > @@ -1223,6 +1223,15 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, > QObject **ret_data) > > void do_info_network(Monitor *mon) > { > + static const char *typename[] = { > + [NET_CLIENT_TYPE_NONE] = "none", > + [NET_CLIENT_TYPE_NIC] = "NIC", > + [NET_CLIENT_TYPE_SLIRP] = "user IPv4", > + [NET_CLIENT_TYPE_TAP] = "tap", > + [NET_CLIENT_TYPE_SOCKET] = "socket", > + [NET_CLIENT_TYPE_VDE] = "VDE", > + [NET_CLIENT_TYPE_DUMP] = "dump", > + }; Why not use the type names from net_client_types[]? Easier, and consistent with the command line. > VLANState *vlan; > VLANClientState *vc, *peer; > net_client_type type; > @@ -1231,7 +1240,8 @@ void do_info_network(Monitor *mon) > monitor_printf(mon, "VLAN %d devices:\n", vlan->id); > > QTAILQ_FOREACH(vc, &vlan->clients, next) { > - monitor_printf(mon, " %s: %s\n", vc->name, vc->info_str); > + monitor_printf(mon, " %s (%s): %s\n", vc->name, > + typename[vc->info->type], vc->info_str); > } > } > monitor_printf(mon, "Devices not on any VLAN:\n"); > @@ -1239,10 +1249,12 @@ void do_info_network(Monitor *mon) > peer = vc->peer; > type = vc->info->type; > if (!peer || type == NET_CLIENT_TYPE_NIC) { > - monitor_printf(mon, " %s: %s\n", vc->name, vc->info_str); > + monitor_printf(mon, " %s (%s): %s\n", vc->name, typename[type], > + vc->info_str); > } > if (peer && type == NET_CLIENT_TYPE_NIC) { > - monitor_printf(mon, " \\ %s: %s\n", peer->name, > peer->info_str); > + monitor_printf(mon, " \\ %s (%s): %s\n", peer->name, > + typename[peer->info->type], peer->info_str); > } > } > }