net: Make "info network" output more readable info
Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
		
							parent
							
								
									b20c6b9e47
								
							
						
					
					
						commit
						1a8595931a
					
				
							
								
								
									
										13
									
								
								net.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								net.c
									
									
									
									
									
								
							@ -855,7 +855,7 @@ void qmp_netdev_del(const char *id, Error **errp)
 | 
			
		||||
    qemu_opts_del(qemu_opts_find(qemu_find_opts_err("netdev", errp), id));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void print_net_client(Monitor *mon, NetClientState *nc)
 | 
			
		||||
void print_net_client(Monitor *mon, NetClientState *nc)
 | 
			
		||||
{
 | 
			
		||||
    monitor_printf(mon, "%s: type=%s,%s\n", nc->name,
 | 
			
		||||
                   NetClientOptionsKind_lookup[nc->info->type], nc->info_str);
 | 
			
		||||
@ -866,12 +866,18 @@ void do_info_network(Monitor *mon)
 | 
			
		||||
    NetClientState *nc, *peer;
 | 
			
		||||
    NetClientOptionsKind type;
 | 
			
		||||
 | 
			
		||||
    monitor_printf(mon, "Devices not on any VLAN:\n");
 | 
			
		||||
    net_hub_info(mon);
 | 
			
		||||
 | 
			
		||||
    QTAILQ_FOREACH(nc, &net_clients, next) {
 | 
			
		||||
        peer = nc->peer;
 | 
			
		||||
        type = nc->info->type;
 | 
			
		||||
 | 
			
		||||
        /* Skip if already printed in hub info */
 | 
			
		||||
        if (net_hub_id_for_client(nc, NULL) == 0) {
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!peer || type == NET_CLIENT_OPTIONS_KIND_NIC) {
 | 
			
		||||
            monitor_printf(mon, "  ");
 | 
			
		||||
            print_net_client(mon, nc);
 | 
			
		||||
        } /* else it's a netdev connected to a NIC, printed with the NIC */
 | 
			
		||||
        if (peer && type == NET_CLIENT_OPTIONS_KIND_NIC) {
 | 
			
		||||
@ -879,7 +885,6 @@ void do_info_network(Monitor *mon)
 | 
			
		||||
            print_net_client(mon, peer);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    net_hub_info(mon);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void qmp_set_link(const char *name, bool up, Error **errp)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								net.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								net.h
									
									
									
									
									
								
							@ -100,6 +100,7 @@ void qemu_check_nic_model(NICInfo *nd, const char *model);
 | 
			
		||||
int qemu_find_nic_model(NICInfo *nd, const char * const *models,
 | 
			
		||||
                        const char *default_model);
 | 
			
		||||
 | 
			
		||||
void print_net_client(Monitor *mon, NetClientState *nc);
 | 
			
		||||
void do_info_network(Monitor *mon);
 | 
			
		||||
 | 
			
		||||
/* NIC info */
 | 
			
		||||
 | 
			
		||||
@ -223,8 +223,10 @@ void net_hub_info(Monitor *mon)
 | 
			
		||||
    QLIST_FOREACH(hub, &hubs, next) {
 | 
			
		||||
        monitor_printf(mon, "hub %d\n", hub->id);
 | 
			
		||||
        QLIST_FOREACH(port, &hub->ports, next) {
 | 
			
		||||
            monitor_printf(mon, "    port %d peer %s\n", port->id,
 | 
			
		||||
                           port->nc.peer ? port->nc.peer->name : "<none>");
 | 
			
		||||
            if (port->nc.peer) {
 | 
			
		||||
                monitor_printf(mon, " \\ ");
 | 
			
		||||
                print_net_client(mon, port->nc.peer);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user