[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 8/9] slirp: Make udp_attach IPv6 compatible
From: |
Samuel Thibault |
Subject: |
[Qemu-devel] [PATCH 8/9] slirp: Make udp_attach IPv6 compatible |
Date: |
Mon, 14 Dec 2015 14:51:27 +0100 |
From: Guillaume Subiron <address@hidden>
A sa_family_t 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 <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
---
slirp/ip_icmp.c | 2 +-
slirp/udp.c | 7 ++++---
slirp/udp.h | 2 +-
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/slirp/ip_icmp.c b/slirp/ip_icmp.c
index 3a29847..592f33a 100644
--- a/slirp/ip_icmp.c
+++ b/slirp/ip_icmp.c
@@ -162,7 +162,7 @@ icmp_input(struct mbuf *m, int hlen)
if (icmp_send(so, m, hlen) == 0) {
return;
}
- if(udp_attach(so) == -1) {
+ if (udp_attach(so, AF_INET) == -1) {
DEBUG_MISC((dfd,"icmp_input udp_attach errno = %d-%s\n",
errno,strerror(errno)));
sofree(so);
diff --git a/slirp/udp.c b/slirp/udp.c
index f2dd773..be49e84 100644
--- a/slirp/udp.c
+++ b/slirp/udp.c
@@ -167,7 +167,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);
@@ -275,9 +275,10 @@ int udp_output(struct socket *so, struct mbuf *m,
}
int
-udp_attach(struct socket *so)
+udp_attach(struct socket *so, sa_family_t 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);
}
diff --git a/slirp/udp.h b/slirp/udp.h
index a04b8ce..15e73c1 100644
--- a/slirp/udp.h
+++ b/slirp/udp.h
@@ -76,7 +76,7 @@ struct mbuf;
void udp_init(Slirp *);
void udp_cleanup(Slirp *);
void udp_input(register struct mbuf *, int);
-int udp_attach(struct socket *);
+int udp_attach(struct socket *, sa_family_t af);
void udp_detach(struct socket *);
struct socket * udp_listen(Slirp *, uint32_t, u_int, uint32_t, u_int,
int);
--
2.6.2
- Re: [Qemu-devel] [PATCH 2/9] slirp: Generalizing and neutralizing ARP code, (continued)
- [Qemu-devel] [PATCH 4/9] slirp: Make Socket structure IPv6 compatible, Samuel Thibault, 2015/12/14
- [Qemu-devel] [PATCH 5/9] slirp: Factorizing address translation, Samuel Thibault, 2015/12/14
- [Qemu-devel] [PATCH 6/9] slirp: Factorizing and cleaning solookup(), Samuel Thibault, 2015/12/14
- [Qemu-devel] [PATCH 9/9] slirp: Adding family argument to tcp_fconnect(), Samuel Thibault, 2015/12/14
- [Qemu-devel] [PATCH 7/9] slirp: Add sockaddr_equal, make solookup family-agnostic, Samuel Thibault, 2015/12/14
- [Qemu-devel] [PATCH 8/9] slirp: Make udp_attach IPv6 compatible,
Samuel Thibault <=