Klement,

> there are quite a few more of these errors/warnings. Are you going to
> fix them all ?:)

I tried (and gave up). This is something those 'owning' the APIs have to do.

Take this one below as an example. You should think that you could just modify 
the VLA to become
u8 segments[n_segments];

But then when you read the comments, you realise it isn't a u8 at all...
 @param segments is a vector of IPv6 address composing the segment list

autoreply define sr_policy_add
{
  u32 client_index;
  u32 context;
  u8 bsid_addr[16];
  u32 weight;
  u8 is_encap;
  u8 type;
  u32 fib_table;
  u8 n_segments;
  u8 segments[0];
};

Cheers,
Ole

> 
> Klement
> 
> Quoting Ole Troan (2017-10-11 11:01:37)
>> autoreply define pot_profile_add {
>>  u32 client_index;
>>  u32 context;
>>  u8 id;
>>  u8 validator;
>>  u64 secret_key;
>>  u64 secret_share;
>>  u64 prime;
>>  u8  max_bits;
>>  u64 lpc;
>>  u64 polynomial_public;
>>  u8 list_name_len;
>>  u8 list_name[0];
>> };
>> 
>> The last field should have been:
>> 
>> u8 list_name[list_name_len];
>> 
>> I believe the Java binding isn't backwards compatible with the [0] either.
>> Let me do a round of fixes to these. (Unless any of the IOAM people beat me 
>> to it).
>> 
>> Best regards,
>> Ole
>> 
>>> On 11 Oct 2017, at 08:41, Klement Sekera -X (ksekera - PANTHEON 
>>> TECHNOLOGIES at Cisco) <ksek...@cisco.com> wrote:
>>> 
>>> Hi Burt,
>>> 
>>> these are existing issues in API files. E.g.
>>> 
>>>>  ERROR:VAPI C GEN:While parsing message `pot_profile_add': variable length
>>>>  array `list_name' doesn't have reference to member containing the actual
>>>>  length
>>> 
>>> means the python script generating new C/C++ API bindings (vapi) was unable
>>> to figure out where is the length of `list_name' stored. From the point
>>> of view of the python script, this is an error, because a VLA should
>>> have a member containing it's length and such messages are ignored.
>>> From the point of view of the whole build system, this is not a show
>>> stopper because such messages are simply ignored and not included in the
>>> the generated C/C++ API bindings.
>>> 
>>> Maybe changing it to warnings would be better?
>>> 
>>> Regards,
>>> Klement
>>> 
>>> Quoting Burt Silverman (2017-10-10 20:19:59)
>>>>  The build completes without error, but I see a lot of these ERROR:VAPI
>>>>  messages, so I thought I'd ask if it is normal. Thanks.
>>>>  Burt
>>>>  make[5]: Entering directory
>>>>  '/home/burts/vpp3/build-root/build-vpp-native/vpp/vpp-api/vapi'
>>>>    VAPI C GEN tcp.api.json  vapi/tcp.api.vapi.h
>>>>    VAPI C GEN span.api.json  vapi/span.api.vapi.h
>>>>    VAPI C GEN l2.api.json  vapi/l2.api.vapi.h
>>>>    VAPI C GEN cop.api.json  vapi/cop.api.vapi.h
>>>>    VAPI C GEN pot.api.json  vapi/pot.api.vapi.h
>>>>    VAPI C GEN ipsec.api.json  vapi/ipsec.api.vapi.h
>>>>    VAPI C GEN flow.api.json  vapi/flow.api.vapi.h
>>>>    VAPI C GEN vpe.api.json  vapi/vpe.api.vapi.h
>>>>    VAPI C GEN nat.api.json  vapi/nat.api.vapi.h
>>>>    VAPI C GEN mpls.api.json  vapi/mpls.api.vapi.h
>>>>    VAPI C GEN ip.api.json  vapi/ip.api.vapi.h
>>>>  ERROR:VAPI C GEN:While parsing message `pot_profile_add': variable length
>>>>  array `list_name' doesn't have reference to member containing the actual
>>>>  length
>>>>  ERROR:VAPI C GEN:While parsing message `pot_profile_activate': variable
>>>>  length array `list_name' doesn't have reference to member containing the
>>>>  actual length
>>>>  ERROR:VAPI C GEN:While parsing message `pot_profile_del': variable length
>>>>  array `list_name' doesn't have reference to member containing the actual
>>>>  length
>>>>    VAPI C GEN memclnt.api.json  vapi/memclnt.api.vapi.h
>>> _______________________________________________
>>> vpp-dev mailing list
>>> vpp-dev@lists.fd.io
>>> https://lists.fd.io/mailman/listinfo/vpp-dev

Attachment: signature.asc
Description: Message signed with OpenPGP

_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev
  • [vpp-dev] Are... Burt Silverman
    • Re: [vpp... Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at Cisco)
      • Re: ... Ole Troan
        • ... Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at Cisco)
          • ... Ole Troan

Reply via email to