[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
signature.asc
Description: OpenPGP digital signature