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.

Reply via email to