summaryrefslogtreecommitdiff
path: root/slirp/socket.h
diff options
context:
space:
mode:
authorGuillaume Subiron <maethor@subiron.org>2016-03-15 10:31:20 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-03-15 10:35:08 +0100
commit15d62af4b6068d1bac1806ca4625b6d4c475eb09 (patch)
tree17e76661234a309b56927de53f336a4e8bf8e598 /slirp/socket.h
parentfc6c9257c6dd47316a1c55d356bcd89bdc5fd642 (diff)
downloadqemu-15d62af4b6068d1bac1806ca4625b6d4c475eb09.tar.gz
slirp: Adding IPv6 UDP support
This adds the sin6 case in the fhost and lhost unions and related macros. It adds udp6_input() and udp6_output(). It adds the IPv6 case in sorecvfrom(). Finally, udp_input() is called by ip6_input(). Signed-off-by: Guillaume Subiron <maethor@subiron.org> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Reviewed-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'slirp/socket.h')
-rw-r--r--slirp/socket.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/slirp/socket.h b/slirp/socket.h
index bcebce110d..e9c9b053dc 100644
--- a/slirp/socket.h
+++ b/slirp/socket.h
@@ -34,17 +34,23 @@ struct socket {
union { /* foreign host */
struct sockaddr_storage ss;
struct sockaddr_in sin;
+ struct sockaddr_in6 sin6;
} fhost;
#define so_faddr fhost.sin.sin_addr
#define so_fport fhost.sin.sin_port
+#define so_faddr6 fhost.sin6.sin6_addr
+#define so_fport6 fhost.sin6.sin6_port
#define so_ffamily fhost.ss.ss_family
union { /* local host */
struct sockaddr_storage ss;
struct sockaddr_in sin;
+ struct sockaddr_in6 sin6;
} lhost;
#define so_laddr lhost.sin.sin_addr
#define so_lport lhost.sin.sin_port
+#define so_laddr6 lhost.sin6.sin6_addr
+#define so_lport6 lhost.sin6.sin6_port
#define so_lfamily lhost.ss.ss_family
uint8_t so_iptos; /* Type of service */