[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/3] net: Restore printing of the help text with "-nic help"
From: |
Claudio Fontana |
Subject: |
Re: [PATCH 2/3] net: Restore printing of the help text with "-nic help" |
Date: |
Thu, 10 Nov 2022 13:09:23 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 |
On 11/10/22 13:05, Claudio Fontana wrote:
> On 11/10/22 12:42, Thomas Huth wrote:
>> On 08/11/2022 10.49, Claudio Fontana wrote:
>>> 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 <thuth@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);
>>>
>>> nit: would not the order:
>>>
>>>> + GPtrArray *nic_models;
>>>> + show_netdevs();
>>>> + printf("\n");
>>>> + nic_models = qemu_get_nic_models(TYPE_DEVICE);
>>>> + qemu_show_nic_models(type, (const char **)nic_models->pdata);
>>>> + g_ptr_array_free(nic_models, true);
>>>
>>> flow more logically?
>>
>> I think that's mostly a matter of taste ...
>
> To some extent, but for the reader it would make more sense not to intermix
> unrelated code?
>
> I'd say:
>
> - show_netdevs
> _ get nic models
> - show nic models
>
> instead of:
>
> - get nic models
> - show netdevs
> - show nic models
>
>
> > and as long as the declaration
>> of the variable has to stay at the top of the block (according to QEMU's
>> coding style), I think I'd also prefer to keep the initialization there.
>>
>
> This conflict can easily be solved by putting the nic_models on its own line,
> as I have shown in my hunk above.
>
And another option (not used enough in QEMU code imo), is to open a block
specifically for the nic models.
Ie you can say:
show_netdevs();
printf("\n");
{
GPtrArray *nic_models = qemu_get_nic_models(TYPE_DEVICE);
qemu_show_nic_models(type, (const char **)nic_models->pdata);
g_ptr_array_free(nic_models, true);
}
this even has the additional benefit of making the allocation/free of the
nic_models clearer as it corresponds to the block.
C
- Re: [PATCH 2/3] net: Restore printing of the help text with "-nic help", (continued)
- Re: [PATCH 2/3] net: Restore printing of the help text with "-nic help", Claudio Fontana, 2022/11/07
- Re: [PATCH 2/3] net: Restore printing of the help text with "-nic help", Thomas Huth, 2022/11/08
- Re: [PATCH 2/3] net: Restore printing of the help text with "-nic help", Claudio Fontana, 2022/11/08
- Re: [PATCH 2/3] net: Restore printing of the help text with "-nic help", Thomas Huth, 2022/11/08
- Re: [PATCH 2/3] net: Restore printing of the help text with "-nic help", Claudio Fontana, 2022/11/08
- Re: [PATCH 2/3] net: Restore printing of the help text with "-nic help", Thomas Huth, 2022/11/10
- Re: [PATCH 2/3] net: Restore printing of the help text with "-nic help", Claudio Fontana, 2022/11/10
Re: [PATCH 2/3] net: Restore printing of the help text with "-nic help", Claudio Fontana, 2022/11/08
[PATCH 3/3] net: Replace "Supported NIC models" with "Available NIC models", Thomas Huth, 2022/11/04