Jan Kiszka <jan.kis...@siemens.com> writes: > On 2011-05-23 11:28, Markus Armbruster wrote: >> 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: 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> >>> --- >>> >>> Changes in v2: >>> - format type as "type=name" >>> - use standard type names >>> - factor out print_net_client >>> >>> net.c | 25 ++++++++++++++++++++++--- >>> 1 files changed, 22 insertions(+), 3 deletions(-) >>> >>> diff --git a/net.c b/net.c >>> index 606ce70..6d06eb7 100644 >>> --- a/net.c >>> +++ b/net.c >>> @@ -1221,6 +1221,22 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, >>> QObject **ret_data) >>> return 0; >>> } >>> >>> +static void print_net_client(Monitor *mon, VLANClientState *vc) >>> +{ >>> + static const char *typename[] = { >>> + [NET_CLIENT_TYPE_NONE] = "none", >>> + [NET_CLIENT_TYPE_NIC] = "nic", >>> + [NET_CLIENT_TYPE_SLIRP] = "user", >>> + [NET_CLIENT_TYPE_TAP] = "tap", >>> + [NET_CLIENT_TYPE_SOCKET] = "socket", >>> + [NET_CLIENT_TYPE_VDE] = "vde", >>> + [NET_CLIENT_TYPE_DUMP] = "dump", >>> + }; >>> + >>> + monitor_printf(mon, "%s: type=%s,%s\n", vc->name, >>> + typename[vc->info->type], vc->info_str); >>> +} >> >> Any particular reason for using typename[vc->info->type] instead of >> net_client[types[vc->info->type].type? > > Uncertainty about the sorting of that array. Is it supposed to be > aligned to NET_CLIENT_TYPE_* definitions?
Hmm, you're right: it happens to be in order, but it's not explicit, so you can't rely on it. I'd be tempted to make the order explicit, but it's your call.