From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org, Jason Wang <jasowang@redhat.com>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Eric Blake <eblake@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>
Subject: [Qemu-devel] [PATCH v1 2/8] net: List available netdevs with "-netdev help"
Date: Mon, 19 Feb 2018 10:15:22 +0100 [thread overview]
Message-ID: <1519031728-9850-3-git-send-email-thuth@redhat.com> (raw)
In-Reply-To: <1519031728-9850-1-git-send-email-thuth@redhat.com>
Other options like "-chardev" or "-device" feature a nice help text
with the available devices when being called with "help" or "?".
Since it is quite useful, especially if you want to see which network
backends have been compiled into the QEMU binary, let's provide such
a help text for "-netdev", too.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
net/net.c | 37 ++++++++++++++++++++++++++++++++++++-
1 file changed, 36 insertions(+), 1 deletion(-)
diff --git a/net/net.c b/net/net.c
index e213a61..08049d9 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1086,6 +1086,38 @@ static int net_client_init1(const void *object, bool is_netdev, Error **errp)
return 0;
}
+static void show_netdevs(void)
+{
+ int idx;
+ const char *available_netdevs[] = {
+ "socket",
+ "hubport",
+ "tap",
+#ifdef CONFIG_SLIRP
+ "user",
+#endif
+#ifdef CONFIG_L2TPV3
+ "l2tpv3",
+#endif
+#ifdef CONFIG_VDE
+ "vde",
+#endif
+#ifdef CONFIG_NET_BRIDGE
+ "bridge",
+#endif
+#ifdef CONFIG_NETMAP
+ "netmap",
+#endif
+#ifdef CONFIG_POSIX
+ "vhost-user",
+#endif
+ };
+
+ printf("Available netdev backend types:\n");
+ for (idx = 0; idx < ARRAY_SIZE(available_netdevs); idx++) {
+ puts(available_netdevs[idx]);
+ }
+}
int net_client_init(QemuOpts *opts, bool is_netdev, Error **errp)
{
@@ -1094,7 +1126,10 @@ int net_client_init(QemuOpts *opts, bool is_netdev, Error **errp)
int ret = -1;
Visitor *v = opts_visitor_new(opts);
- {
+ if (is_netdev && is_help_option(qemu_opt_get(opts, "type"))) {
+ show_netdevs();
+ exit(1);
+ } else {
/* Parse convenience option format ip6-net=fec0::0[/64] */
const char *ip6_net = qemu_opt_get(opts, "ipv6-net");
--
1.8.3.1
next prev parent reply other threads:[~2018-02-19 9:15 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-19 9:15 [Qemu-devel] [PATCH v1 0/8] Improvements and clean-ups related to -net Thomas Huth
2018-02-19 9:15 ` [Qemu-devel] [PATCH v1 1/8] net: Move error reporting from net_init_client/netdev to the calling site Thomas Huth
2018-02-19 13:38 ` Eric Blake
2018-02-19 16:07 ` Paolo Bonzini
2018-02-19 9:15 ` Thomas Huth [this message]
2018-02-19 16:08 ` [Qemu-devel] [PATCH v1 2/8] net: List available netdevs with "-netdev help" Paolo Bonzini
2018-02-19 17:18 ` Eric Blake
2018-02-19 9:15 ` [Qemu-devel] [PATCH v1 3/8] net: Only show vhost-user in the help text if CONFIG_POSIX is defined Thomas Huth
2018-02-19 16:10 ` Paolo Bonzini
2018-02-19 9:15 ` [Qemu-devel] [PATCH v1 4/8] net: Make net_client_init() static Thomas Huth
2018-02-19 16:12 ` Paolo Bonzini
2018-02-19 9:15 ` [Qemu-devel] [PATCH v1 5/8] net: Remove the deprecated way of dumping network packets Thomas Huth
2018-02-19 16:13 ` Paolo Bonzini
2018-02-19 17:14 ` Eric Blake
2018-02-19 9:15 ` [Qemu-devel] [PATCH v1 6/8] net: Remove the deprecated 'host_net_add' and 'host_net_remove' HMP commands Thomas Huth
2018-02-19 16:13 ` Paolo Bonzini
2018-02-19 9:15 ` [Qemu-devel] [PATCH v1 7/8] net: Add a new convenience option "-n" to configure default/on-board NICs Thomas Huth
2018-02-19 16:20 ` Paolo Bonzini
2018-02-19 16:37 ` Thomas Huth
2018-02-19 9:15 ` [Qemu-devel] [PATCH v1 8/8] qemu-doc: Make "-net" less prominent Thomas Huth
2018-02-19 13:29 ` [Qemu-devel] [PATCH v1 0/8] Improvements and clean-ups related to -net Eric Blake
2018-02-19 13:37 ` Thomas Huth
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=1519031728-9850-3-git-send-email-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=armbru@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=jasowang@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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).