From nobody Sat Apr 27 09:20:29 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1517473351743339.12187935569114; Thu, 1 Feb 2018 00:22:31 -0800 (PST) Received: from localhost ([::1]:41366 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ehA8d-0003ou-08 for importer@patchew.org; Thu, 01 Feb 2018 03:22:31 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38608) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ehA7c-0003PV-JD for qemu-devel@nongnu.org; Thu, 01 Feb 2018 03:21:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ehA7X-0000Bu-Kr for qemu-devel@nongnu.org; Thu, 01 Feb 2018 03:21:28 -0500 Received: from mail-wm0-x244.google.com ([2a00:1450:400c:c09::244]:53150) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ehA7X-0000Bd-Dd for qemu-devel@nongnu.org; Thu, 01 Feb 2018 03:21:23 -0500 Received: by mail-wm0-x244.google.com with SMTP id g1so4034176wmg.2 for ; Thu, 01 Feb 2018 00:21:23 -0800 (PST) Received: from localhost.localdomain ([141.101.154.104]) by smtp.gmail.com with ESMTPSA id 6sm8114184edl.87.2018.02.01.00.21.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 01 Feb 2018 00:21:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=gdOOrB6PvZfcizndV6GeragiwJISJR8BJip2K9Mc5KU=; b=M7PpGJuKe6anDjSDf0Wf1fiD+ar3uimcPgtPpTWDGENKUIpprB2AG9PLkr734Uf99Q bHASkJYDqjldNljM7WAM8T0iv2XC1OHpZ1GyE1Mk6h8rhzwRh42AEvC5vGe8Bq9WuDC3 k/2qBhnkY8k2Xg9j2L3Xrj9AFz0B0KpLsWSdofZRhH8IdzPREDuAZcztSuyReNwMApiF Bxyzf3uxdGqwzf2A7f0F4EMOuI4XrFglczgZ3+S0q57f4kaobJZCdziQ8n1wyc2XsP2/ C08ig0TbLD/z8hWaKzbWCm5SHPshgXA5hez1DFheIH0FjFQo1RONTyqlujJKu6RREwqg cU+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=gdOOrB6PvZfcizndV6GeragiwJISJR8BJip2K9Mc5KU=; b=QRffFRFye1fPTBRhfg57VTVO3YEWrYWTsjdxZh+EO9mDl/3j5LMFbqwMz+nvfd/DWi ZWYnYH7quHSTuEuqqoXeYwZNF+F7xXcliWuXrkVD4sAahmT5xy3tF61iM9pynNs16zip FV0PteObK1VWJ3tmgTkfOoMPYSacrKTOCPxTq1VWUIdS8O2yXdBbQLWsB0SFXTL1/O/9 S9m0GsUuLZvoV8wvdICth0oE2KTP2giFmk3KN/tXGSkZzAhEoVjSJrhd5iDNupzoUHb9 qxBA3UwSVnMzCkcARGjfdRSNLXZ/zjWtkMH50jtFx/SclEvP/zdfGs4XkopwjjIOjklw cW8w== X-Gm-Message-State: AKwxytedBis4HkVnGgKJrf6eSbqtrLkeQ/neAJFCEfWcJs7uTgBko4JW lHZNNlCtho5uqjK51e5gxF4O6dHrsNsRIA== X-Google-Smtp-Source: AH8x224YG4zEf9fbbY6aK4vvb3dMqqkc7Dwifpn8ua0U3VeatQXIrCh4eWuQVPXSX0v5zw+0Svvrzw== X-Received: by 10.80.216.143 with SMTP id p15mr50203968edj.294.1517473282221; Thu, 01 Feb 2018 00:21:22 -0800 (PST) From: Zihan Yang To: qemu-devel@nongnu.org Date: Thu, 1 Feb 2018 16:20:28 +0800 Message-Id: <1517473228-8402-1-git-send-email-whois.zihan.yang@gmail.com> X-Mailer: git-send-email 2.7.4 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::244 Subject: [Qemu-devel] [PATCH] net/socket: change net_socket_listen_init to use qemu-socket functions X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jason Wang , Zihan Yang Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" net_socket_listen_init directly uses parse_host_port, bind and listen, change it to use functions in include/qemu/sockets.h Signed-off-by: Zihan Yang --- net/socket.c | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/net/socket.c b/net/socket.c index 6917fbc..e4b1f47 100644 --- a/net/socket.c +++ b/net/socket.c @@ -494,36 +494,24 @@ static int net_socket_listen_init(NetClientState *pee= r, { NetClientState *nc; NetSocketState *s; - struct sockaddr_in saddr; - int fd, ret; + SocketAddress *saddr; + Error *local_err =3D NULL; + int fd; =20 - if (parse_host_port(&saddr, host_str, errp) < 0) { + saddr =3D socket_parse(host_str, &local_err); + if (NULL !=3D local_err) { + error_setg_errno(errp, errno, "socket_parse failed"); return -1; } =20 - fd =3D qemu_socket(PF_INET, SOCK_STREAM, 0); + fd =3D socket_listen(saddr, errp); if (fd < 0) { - error_setg_errno(errp, errno, "can't create stream socket"); + error_setg_errno(errp, errno, "can't listen on address"); + qapi_free_SocketAddress(saddr); return -1; } qemu_set_nonblock(fd); =20 - socket_set_fast_reuse(fd); - - ret =3D bind(fd, (struct sockaddr *)&saddr, sizeof(saddr)); - if (ret < 0) { - error_setg_errno(errp, errno, "can't bind ip=3D%s to socket", - inet_ntoa(saddr.sin_addr)); - closesocket(fd); - return -1; - } - ret =3D listen(fd, 0); - if (ret < 0) { - error_setg_errno(errp, errno, "can't listen on socket"); - closesocket(fd); - return -1; - } - nc =3D qemu_new_net_client(&net_socket_info, peer, model, name); s =3D DO_UPCAST(NetSocketState, nc, nc); s->fd =3D -1; --=20 2.7.4