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
					
				
							
								
								
									
										15
									
								
								net.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								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,20 +866,25 @@ 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) { | ||||
|             monitor_printf(mon, "   \\ "); | ||||
|             monitor_printf(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
	 Zhi Yong Wu
						Zhi Yong Wu