From patchwork Thu Jun 10 21:37:04 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miguel Di Ciurcio Filho X-Patchwork-Id: 55266 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 08F071007D1 for ; Fri, 11 Jun 2010 07:40:27 +1000 (EST) Received: from localhost ([127.0.0.1]:46031 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OMpU8-0000ga-1s for incoming@patchwork.ozlabs.org; Thu, 10 Jun 2010 17:40:24 -0400 Received: from [140.186.70.92] (port=59445 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OMpSj-0000eS-TJ for qemu-devel@nongnu.org; Thu, 10 Jun 2010 17:38:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OMpSi-0004hz-MY for qemu-devel@nongnu.org; Thu, 10 Jun 2010 17:38:57 -0400 Received: from mail-yw0-f197.google.com ([209.85.211.197]:47582) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OMpSi-0004db-J4 for qemu-devel@nongnu.org; Thu, 10 Jun 2010 17:38:56 -0400 Received: by mail-yw0-f197.google.com with SMTP id 35so395486ywh.29 for ; Thu, 10 Jun 2010 14:38:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer:in-reply-to:references; bh=N4UHWSuLWPxy4QhtfGNn1UAugT9+0yc6gmhXFEa07p0=; b=R05fE29QvqOIaef0yXyKgkRW0FuIeZHbOgzc+QSxfHnkPq7agQHKkn7Ki9RiLln7mI i9mtNk8ui7bwiLuf8J1ac7O5Ows7NOOBOENk/L6EsKPPc0QKN9M7An6JJ2o0cr9tPKC6 l6go7cc2tSScBvNaRequpOUeOAiHY3SA8GOgE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=B6a4dqGhYBgC2dkUmoAFZGkqslmrd7oQiQhX3Cj3DJlVCXwqHToi1Gf/afiYyeHVZc /xN4TB7WF3cqRUkghrp5y4XlXtp1nQDww7RKvIgca05i/H4lv/MiEdYOsl9IZh4R1DN2 EA8fKVsI3Bu51M4jTxBgIwm4TE2S75QrUqxNY= Received: by 10.150.247.3 with SMTP id u3mr2483675ybh.41.1276205936338; Thu, 10 Jun 2010 14:38:56 -0700 (PDT) Received: from localhost.localdomain ([189.61.230.202]) by mx.google.com with ESMTPS id v21sm4495622ybk.1.2010.06.10.14.38.52 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 10 Jun 2010 14:38:54 -0700 (PDT) From: Miguel Di Ciurcio Filho To: qemu-devel@nongnu.org Date: Thu, 10 Jun 2010 18:37:04 -0300 Message-Id: <1276205825-1922-8-git-send-email-miguel.filho@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1276205825-1922-1-git-send-email-miguel.filho@gmail.com> References: <1276205825-1922-1-git-send-email-miguel.filho@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) Cc: armbru@redhat.com, lcapitulino@redhat.com, Miguel Di Ciurcio Filho , avi@redhat.com Subject: [Qemu-devel] [PATCH 7/8] net: slirp: introduce info_dict X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Signed-off-by: Miguel Di Ciurcio Filho --- net/slirp.c | 17 ++++++++++++++++- 1 files changed, 16 insertions(+), 1 deletions(-) diff --git a/net/slirp.c b/net/slirp.c index b41c60a..5735009 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -32,6 +32,10 @@ #include "monitor.h" #include "sysemu.h" #include "qemu_socket.h" +#include "qdict.h" +#include "qbool.h" +#include "qstring.h" +#include "qjson.h" #include "slirp/libslirp.h" static int get_str_sep(char *buf, int buf_size, const char **pp, int sep) @@ -243,6 +247,12 @@ static int net_slirp_init(VLANState *vlan, const char *model, snprintf(nc->info_str, sizeof(nc->info_str), "net=%s, restricted=%c", inet_ntoa(net), restricted ? 'y' : 'n'); + assert(nc->info_dict == NULL); + nc->info_dict = qobject_to_qdict(qobject_from_jsonf("{'net': %s,\ + 'host': %s, 'dhcp': %s, 'dns': %s }", inet_ntoa(net), inet_ntoa(host), + inet_ntoa(dhcp), inet_ntoa(dns))); + qdict_put(nc->info_dict, "restricted", qbool_from_int(restricted)); + s = DO_UPCAST(SlirpState, nc, nc); s->slirp = slirp_init(restricted, net, mask, host, vhostname, @@ -265,8 +275,13 @@ static int net_slirp_init(VLANState *vlan, const char *model, smb_export = legacy_smb_export; } if (smb_export) { - if (slirp_smb(s, smb_export, smbsrv) < 0) + if (slirp_smb(s, smb_export, smbsrv) < 0) { goto error; + } else { + qdict_put(nc->info_dict, "smb", qstring_from_str(smb_export)); + qdict_put(nc->info_dict, "smbserver", + qstring_from_str(inet_ntoa(smbsrv))); + } } #endif