From: Miguel Di Ciurcio Filho <miguel.filho@gmail.com>
To: qemu-devel@nongnu.org
Cc: avi@redhat.com, Miguel Di Ciurcio Filho <miguel.filho@gmail.com>,
armbru@redhat.com, lcapitulino@redhat.com
Subject: [Qemu-devel] [PATCH 6/7] net: slirp: introduce info_dict
Date: Wed, 23 Jun 2010 12:40:02 -0300 [thread overview]
Message-ID: <1277307603-28960-7-git-send-email-miguel.filho@gmail.com> (raw)
In-Reply-To: <1277307603-28960-1-git-send-email-miguel.filho@gmail.com>
Signed-off-by: Miguel Di Ciurcio Filho <miguel.filho@gmail.com>
---
net/slirp.c | 42 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/net/slirp.c b/net/slirp.c
index b41c60a..9549711 100644
--- a/net/slirp.c
+++ b/net/slirp.c
@@ -32,6 +32,9 @@
#include "monitor.h"
#include "sysemu.h"
#include "qemu_socket.h"
+#include "qdict.h"
+#include "qbool.h"
+#include "qstring.h"
#include "slirp/libslirp.h"
static int get_str_sep(char *buf, int buf_size, const char **pp, int sep)
@@ -243,6 +246,26 @@ 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');
+ nc->info_dict = qdict_new();
+ qdict_put(nc->info_dict, "net", qstring_from_str(inet_ntoa(net)));
+ qdict_put(nc->info_dict, "host", qstring_from_str(inet_ntoa(host)));
+ qdict_put(nc->info_dict, "dns", qstring_from_str(inet_ntoa(dns)));
+ qdict_put(nc->info_dict, "dhcpstart", qstring_from_str(inet_ntoa(dhcp)));
+ qdict_put(nc->info_dict, "netmask", qstring_from_str(inet_ntoa(mask)));
+ qdict_put(nc->info_dict, "restrict", qbool_from_int(restricted));
+
+ if (vhostname) {
+ qdict_put(nc->info_dict, "hostname", qstring_from_str(vhostname));
+ }
+
+ if (tftp_export) {
+ qdict_put(nc->info_dict, "tftp", qstring_from_str(tftp_export));
+ }
+
+ if (bootfile) {
+ qdict_put(nc->info_dict, "bootfile", qstring_from_str(bootfile));
+ }
+
s = DO_UPCAST(SlirpState, nc, nc);
s->slirp = slirp_init(restricted, net, mask, host, vhostname,
@@ -252,12 +275,20 @@ static int net_slirp_init(VLANState *vlan, const char *model,
for (config = slirp_configs; config; config = config->next) {
if (config->flags & SLIRP_CFG_HOSTFWD) {
if (slirp_hostfwd(s, config->str,
- config->flags & SLIRP_CFG_LEGACY) < 0)
+ config->flags & SLIRP_CFG_LEGACY) < 0) {
goto error;
+ } else {
+ qdict_put(nc->info_dict, "hostfwd",
+ qstring_from_str(config->str));
+ }
} else {
if (slirp_guestfwd(s, config->str,
- config->flags & SLIRP_CFG_LEGACY) < 0)
+ config->flags & SLIRP_CFG_LEGACY) < 0) {
goto error;
+ } else {
+ qdict_put(nc->info_dict, "guestfwd",
+ qstring_from_str(config->str));
+ }
}
}
#ifndef _WIN32
@@ -265,8 +296,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
--
1.7.1
next prev parent reply other threads:[~2010-06-23 15:41 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-23 15:39 [Qemu-devel] [PATCH 0/7] QMP: Introduce query-netdev Miguel Di Ciurcio Filho
2010-06-23 15:39 ` [Qemu-devel] [PATCH 1/7] QMP: Introduce the documentation for query-netdev and info netdev Miguel Di Ciurcio Filho
2010-06-23 15:39 ` [Qemu-devel] [PATCH 2/7] QObject API: introduce qdict_to_qstring() function Miguel Di Ciurcio Filho
2010-06-23 15:39 ` [Qemu-devel] [PATCH 3/7] net: Introduce VLANClientState->info_dict Miguel Di Ciurcio Filho
2010-06-28 21:59 ` [Qemu-devel] " Luiz Capitulino
2010-06-23 15:40 ` [Qemu-devel] [PATCH 4/7] net: tap/tap-win32: introduce info_dict Miguel Di Ciurcio Filho
2010-06-23 15:40 ` [Qemu-devel] [PATCH 5/7] net: vde: " Miguel Di Ciurcio Filho
2010-06-23 15:40 ` Miguel Di Ciurcio Filho [this message]
2010-06-23 15:40 ` [Qemu-devel] [PATCH 7/7] monitor/net: introduce 'info netdev' with QMP support Miguel Di Ciurcio Filho
2010-06-28 22:00 ` [Qemu-devel] " Luiz Capitulino
2010-06-28 22:01 ` [Qemu-devel] Re: [PATCH 0/7] QMP: Introduce query-netdev Luiz Capitulino
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1277307603-28960-7-git-send-email-miguel.filho@gmail.com \
--to=miguel.filho@gmail.com \
--cc=armbru@redhat.com \
--cc=avi@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).