summaryrefslogtreecommitdiff
path: root/slirp/udp.c
diff options
context:
space:
mode:
authorGuillaume Subiron <maethor@subiron.org>2015-12-19 22:25:02 +0100
committerJason Wang <jasowang@redhat.com>2016-02-04 14:13:11 +0800
commit9b5a30dc41c7455a17c88ed1a3677ba5f937f31d (patch)
tree127bdbf9b99215c48fd6f4924cdea777f4a70921 /slirp/udp.c
parent8a87f121ca82fbb34877ec843dfc50b327baef9d (diff)
downloadqemu-9b5a30dc41c7455a17c88ed1a3677ba5f937f31d.tar.gz
qemu-9b5a30dc41c7455a17c88ed1a3677ba5f937f31d.tar.bz2
qemu-9b5a30dc41c7455a17c88ed1a3677ba5f937f31d.zip
slirp: Make udp_attach IPv6 compatible
A unsigned short is now passed in argument to udp_attach instead of using a hardcoded "AF_INET" to call qemu_socket(). This prepares for IPv6 support. 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> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'slirp/udp.c')
-rw-r--r--slirp/udp.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/slirp/udp.c b/slirp/udp.c
index 63776c007d..92c48c491e 100644
--- a/slirp/udp.c
+++ b/slirp/udp.c
@@ -169,7 +169,7 @@ udp_input(register struct mbuf *m, int iphlen)
if (!so) {
goto bad;
}
- if(udp_attach(so) == -1) {
+ if (udp_attach(so, AF_INET) == -1) {
DEBUG_MISC((dfd," udp_attach errno = %d-%s\n",
errno,strerror(errno)));
sofree(so);
@@ -277,9 +277,10 @@ int udp_output(struct socket *so, struct mbuf *m,
}
int
-udp_attach(struct socket *so)
+udp_attach(struct socket *so, unsigned short af)
{
- if((so->s = qemu_socket(AF_INET,SOCK_DGRAM,0)) != -1) {
+ so->s = qemu_socket(af, SOCK_DGRAM, 0);
+ if (so->s != -1) {
so->so_expire = curtime + SO_EXPIRE;
insque(so, &so->slirp->udb);
}