should -net and -netdev be adapted too? For audio, we now have support for help options in both -audiodev and -audio..
Thanks, Claudio On 11/4/22 13:57, Thomas Huth wrote: > Running QEMU with "-nic help" used to work in QEMU 5.2 and earlier versions > (it showed the available netdev backends), but this feature got broken during > some refactoring in version 6.0. Let's restore the old behavior, and while > we're at it, let's also print the available NIC models here now since this > option can be used to configure both, netdev backend and model in one go. > > Fixes: ad6f932fe8 ("net: do not exit on "netdev_add help" monitor command") > Signed-off-by: Thomas Huth <th...@redhat.com> > --- > net/net.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/net/net.c b/net/net.c > index c0516a8067..b4b8f2a9cc 100644 > --- a/net/net.c > +++ b/net/net.c > @@ -1571,8 +1571,18 @@ static int net_param_nic(void *dummy, QemuOpts *opts, > Error **errp) > const char *type; > > type = qemu_opt_get(opts, "type"); > - if (type && g_str_equal(type, "none")) { > - return 0; /* Nothing to do, default_net is cleared in vl.c */ > + if (type) { > + if (g_str_equal(type, "none")) { > + return 0; /* Nothing to do, default_net is cleared in vl.c */ > + } > + if (is_help_option(type)) { > + GPtrArray *nic_models = qemu_get_nic_models(TYPE_DEVICE); > + show_netdevs(); > + printf("\n"); > + qemu_show_nic_models(type, (const char **)nic_models->pdata); > + g_ptr_array_free(nic_models, true); > + exit(0); > + } > } > > idx = nic_get_free_idx();