Re: [vpp-dev] vpp api versioning

2022-07-19 Thread Stanislav Zaikin
Hello folks, I've just sent 3 patches addressing issues in LCP [0] [1] [2]. First one for marking APIs in progress. 2nd only for s/namespace/netns/g. 3rd fixes endian issues in different methods. One thing I can't understand - if the "autoendian" keyword is specified for API type - I should use

Re: [vpp-dev] vpp api versioning

2022-07-16 Thread Andrew Yourtchenko
Hi Matt, Oh right, so especially given the plugin is marked experimental, in-place approach would make a lot of sense… By saying “experimental” I was thinking of marking the API messages as “in-progress” [0] - which would then exempt them from the change enforcements and allow further

Re: [vpp-dev] vpp api versioning

2022-07-15 Thread Matthew Smith via lists.fd.io
Hi Andrew, Neale and I are the maintainers of linux-cp. I am ok with changing it in place because the use of "namespace" is preventing Stanislav from even being able to compile his code. When you say "mark the APIs as experimental" are you talking about putting "state: experimental" in the

Re: [vpp-dev] vpp api versioning

2022-07-15 Thread Stanislav Zaikin
Hi Pim, There's also lcp_default_ns_get broken. I fixed that locally and want to send the patch. Can take a look at lcp_itf_pair_add_del_v2 as well. On Fri, 15 Jul 2022 at 12:57, Pim van Pelt wrote: > Hoi, > > Currently, linux-cp API doesn't seem to work, at least in Python and GoVPP > (see

Re: [vpp-dev] vpp api versioning

2022-07-15 Thread Stanislav Zaikin
Hi Andrew, Thanks for the explanation. I'll try to reach maintainers of the lcp plugin and convince them :) Yes, I'm working on an agent for managing vpp through binary api and it's written in C++ - so it breaks the compilation. I have a patch in my local repo for that, but now I'm trying to

Re: [vpp-dev] vpp api versioning

2022-07-15 Thread Pim van Pelt
Hoi, Currently, linux-cp API doesn't seem to work, at least in Python and GoVPP (see previous threads on this mailinglist with bugreports), lcp_itf_pair_add_del_v2() eventually succeeds but throws an error to the caller. This snippet: r = vpp.api.create_loopback() print(r) host_if_name =

Re: [vpp-dev] vpp api versioning

2022-07-15 Thread Andrew Yourtchenko
Hi Stanislav, The api is marked as “Production” so the behavior of checkstyle is there to protect the users (as for the duplication - it is a choice to do it once in VPP or in each and every downstream consumer). As for the pure code exercise - I just did it for the sake of a test, took a

[vpp-dev] vpp api versioning

2022-07-15 Thread Stanislav Zaikin
Hello folks, According to [0] it should be possible to add breaking changes to vpp api with incrementing the major version of the api. There's one issue in the LCP api - a C++ keyword "namespace" is used there and I want to change it to "netns" and increase a major version. But make