qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [Qemu-block] [PATCH v14 20/21] net: convert to QObjectI


From: Eric Blake
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH v14 20/21] net: convert to QObjectInputVisitor for -net/-netdev parsing
Date: Thu, 20 Oct 2016 08:43:05 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

On 10/20/2016 02:38 AM, Markus Armbruster wrote:

>> @@ -1069,7 +1069,21 @@ int net_client_init(QemuOpts *opts, bool is_netdev, 
>> Error **errp)
>>      void *object = NULL;
>>      Error *err = NULL;
>>      int ret = -1;
>> -    Visitor *v = opts_visitor_new(opts);
>> +    /*
>> +     * Needs autocreate_lists=true in order support existing
>> +     * syntax for list options where the bare key is repeated
>> +     *
>> +     * Needs autocreate_struct_levels=3 in order to deal with
>> +     * 3 level nesting in NetLegacy option args, which was
>> +     * exposed as a flat namespace with OptVisitor
>> +     */
>> +    Visitor *v = qobject_input_visitor_new_opts(opts, true, 3, false, true,
>> +                                                &err);
>> +
>> +    if (err) {
>> +        error_propagate(errp, err);
>> +        return -1;
>> +    }
>>  
>>      {
>>          /* Parse convenience option format ip6-net=fec0::0[/64] */
> 
> Neither NetLegacy nor Netdev are ABI, so if I understand the problem,
> perhaps I can find a way around it.  Let's figure out what exactly
> requires levels=3.

Netdev is not ABI only because we decided to NOT apply the last patch of
QAPI-fying it in 2.7 while deciding to handle the back-compat
(non-?)issues that existing netdev_add QMP command accepts both 1 and
"1", but using the Netdev type would accept only 1.

While working towards making netdev_add use QAPI, I intentionally left
NetLegacy unchanged; but since NetLegacy is solely used by the command
line, feel free to rearrange that type as long as CLI back-compat is kept.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]