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
signature.asc
Description: Message signed with OpenPGP
_______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev