util/qemu-sockets.c: Support specifying IPv4 or IPv6 in socket_dgram()
Currently you can specify whether you want a UDP chardev backend to be IPv4 or IPv6 using the ipv4 or ipv6 options if you use the QemuOpts parsing code in inet_dgram_opts(). However the QMP struct parsing code in socket_dgram() doesn't provide this flexibility (which in turn prevents us from converting the UDP backend handling to the new style QAPI framework). Use the existing inet_addr_to_opts() function to convert the remote->inet address to option strings; this handles ipv4 and ipv6 flags as well as host and port. (It will also convert any 'to' specification, which is harmless as it is ignored in this context.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1409653457-27863-3-git-send-email-peter.maydell@linaro.org
This commit is contained in:
		
							parent
							
								
									dafd325dbb
								
							
						
					
					
						commit
						8287fea321
					
				| @ -966,8 +966,7 @@ int socket_dgram(SocketAddress *remote, SocketAddress *local, Error **errp) | ||||
|     opts = qemu_opts_create(&socket_optslist, NULL, 0, &error_abort); | ||||
|     switch (remote->kind) { | ||||
|     case SOCKET_ADDRESS_KIND_INET: | ||||
|         qemu_opt_set(opts, "host", remote->inet->host); | ||||
|         qemu_opt_set(opts, "port", remote->inet->port); | ||||
|         inet_addr_to_opts(opts, remote->inet); | ||||
|         if (local) { | ||||
|             qemu_opt_set(opts, "localaddr", local->inet->host); | ||||
|             qemu_opt_set(opts, "localport", local->inet->port); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Peter Maydell
						Peter Maydell