From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46219) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZKDoU-0007Wc-Bu for qemu-devel@nongnu.org; Tue, 28 Jul 2015 18:57:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZKDoQ-0007I6-U3 for qemu-devel@nongnu.org; Tue, 28 Jul 2015 18:57:34 -0400 Received: from sonata.ens-lyon.org ([140.77.166.138]:59363) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZKDoQ-0007Hc-O6 for qemu-devel@nongnu.org; Tue, 28 Jul 2015 18:57:30 -0400 From: Samuel Thibault Date: Wed, 29 Jul 2015 00:57:15 +0200 Message-Id: <1438124245-11667-8-git-send-email-samuel.thibault@ens-lyon.org> In-Reply-To: <1438124245-11667-1-git-send-email-samuel.thibault@ens-lyon.org> References: <20150728225701.GK3467@type.home> <1438124245-11667-1-git-send-email-samuel.thibault@ens-lyon.org> Subject: [Qemu-devel] [PATCH 08/18] slirp: Adding family argument to tcp_fconnect() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: zhanghailiang , Li Zhijian , Stefan Hajnoczi , Jason Wang , Dave Gilbert , Vasiliy Tolstov , Huangpeng , Gonglei , Jan Kiszka , Samuel Thibault , Yang Hongyang , Guillaume Subiron This patch simply adds a sa_family_t argument to remove the hardcoded "AF_INET" in the call of qemu_socket(). Signed-off-by: Guillaume Subiron --- slirp/slirp.h | 2 +- slirp/tcp_input.c | 3 ++- slirp/tcp_subr.c | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/slirp/slirp.h b/slirp/slirp.h index 6589d7e..5b810e5 100644 --- a/slirp/slirp.h +++ b/slirp/slirp.h @@ -332,7 +332,7 @@ void tcp_respond(struct tcpcb *, register struct tcpiphdr *, register struct mbu struct tcpcb * tcp_newtcpcb(struct socket *); struct tcpcb * tcp_close(register struct tcpcb *); void tcp_sockclosed(struct tcpcb *); -int tcp_fconnect(struct socket *); +int tcp_fconnect(struct socket *, sa_family_t af); void tcp_connect(struct socket *); int tcp_attach(struct socket *); uint8_t tcp_tos(struct socket *); diff --git a/slirp/tcp_input.c b/slirp/tcp_input.c index 1b9a0b1..4c72430 100644 --- a/slirp/tcp_input.c +++ b/slirp/tcp_input.c @@ -581,7 +581,8 @@ findso: goto cont_input; } - if((tcp_fconnect(so) == -1) && (errno != EINPROGRESS) && (errno != EWOULDBLOCK)) { + if ((tcp_fconnect(so, so->so_ffamily) == -1) + && (errno != EINPROGRESS) && (errno != EWOULDBLOCK)) { u_char code=ICMP_UNREACH_NET; DEBUG_MISC((dfd, " tcp fconnect errno = %d-%s\n", errno,strerror(errno))); diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c index fab389a..1ced9e6 100644 --- a/slirp/tcp_subr.c +++ b/slirp/tcp_subr.c @@ -324,14 +324,15 @@ tcp_sockclosed(struct tcpcb *tp) * nonblocking. Connect returns after the SYN is sent, and does * not wait for ACK+SYN. */ -int tcp_fconnect(struct socket *so) +int tcp_fconnect(struct socket *so, sa_family_t af) { int ret=0; DEBUG_CALL("tcp_fconnect"); DEBUG_ARG("so = %lx", (long )so); - if( (ret = so->s = qemu_socket(AF_INET,SOCK_STREAM,0)) >= 0) { + ret = so->s = qemu_socket(af, SOCK_STREAM, 0); + if (ret >= 0) { int opt, s=so->s; struct sockaddr_storage addr; -- 2.4.6