net: Dump client type 'info network'

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

CC: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Jan Kiszka 2011-07-20 12:20:21 +02:00 committed by Anthony Liguori
parent 6f7b3b1be2
commit 44e798d395
1 changed files with 12 additions and 3 deletions

15
net.c
View File

@ -1227,6 +1227,12 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data)
return 0;
}
static void print_net_client(Monitor *mon, VLANClientState *vc)
{
monitor_printf(mon, "%s: type=%s,%s\n", vc->name,
net_client_types[vc->info->type].type, vc->info_str);
}
void do_info_network(Monitor *mon)
{
VLANState *vlan;
@ -1237,7 +1243,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, " ");
print_net_client(mon, vc);
}
}
monitor_printf(mon, "Devices not on any VLAN:\n");
@ -1245,10 +1252,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, " ");
print_net_client(mon, vc);
} /* else it's a netdev connected to a NIC, printed with the NIC */
if (peer && type == NET_CLIENT_TYPE_NIC) {
monitor_printf(mon, " \\ %s: %s\n", peer->name, peer->info_str);
monitor_printf(mon, " \\ ");
print_net_client(mon, peer);
}
}
}