Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-18 Thread Andrew Yourtchenko
FYI - I have added an editorial blurb into the draft of the release notes for 20.05, based on the discussions in this thread: https://gerrit.fd.io/r/c/vpp/+/27128/ Please feel free to review. --a > On 17 May 2020, at 20:13, Jon Loeliger wrote: > >  >> On Sat, May 16, 2020 at 10:02 AM Christ

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-18 Thread Ole Troan
> API messages in network byte order made sense 10 years ago when I worked with > a mixed x86_64 / ppc32 system. As Damjan points out, API interoperability > between big-endian and little-endian systems is a boutique use-case these > days. > > Timing is key. We won’t be able to cherry-pick API

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-17 Thread Jon Loeliger via lists.fd.io
On Sat, May 16, 2020 at 10:02 AM Christian Hopps wrote: > > I know we use the binary APIs, I believe Netgate does as well. I'm sure > there are others too (might be good to collect a list of these folks if one > doesn't exist yet). > Indeed, Netgate uses the binary APIs extensively. jdl -=-=-=-

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-16 Thread Ole Troan
>>> API messages in network byte order made sense 10 years ago when I worked >>> with a mixed x86_64 / ppc32 system. As Damjan points out, API >>> interoperability between big-endian and little-endian systems is a boutique >>> use-case these days. >>> >>> Timing is key. We won’t be able to cherry-

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-16 Thread Christian Hopps
rtchenko >> Cc: Christian Hopps ; Ole Troan ; >> vpp-dev ; Jerome Tollet (jtollet) >> Subject: Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] >> Proposal for VPP binary API stability >> >> >> Knowing that even hard-core big-endian systems like

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-16 Thread Andrew Yourtchenko
Very valid point. Endianness is only aspect. Accidental size changes on the wire is different. But this drifted very far astray from my original question: if we keep shuffling the bits on wire regardless, how much of a value does a meticulous CRC tracking process provides ? i see it as actively

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-16 Thread Andrew Yourtchenko
me Tollet (jtollet) > Subject: Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] > Proposal for VPP binary API stability > > > Knowing that even hard-core big-endian systems like PowerPC decided to > switch to Little endian and that situation where binary api will be >

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-16 Thread Dave Barach via lists.fd.io
Cc: Christian Hopps ; Ole Troan ; vpp-dev ; Jerome Tollet (jtollet) Subject: Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability Knowing that even hard-core big-endian systems like PowerPC decided to switch to Little endian and that situation

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-16 Thread Christian Hopps
As a user of these APIs I would hugely appreciate work be done on the API framework to make it more usable (don't require callbacks) fix the automatic endian conversion it already generates, improve support for argument additions (these are easy to support in a backward compatible way), and mayb

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-16 Thread Andrew Yourtchenko
I was hesitating to write exactly that - so at least I am not alone in thinking this... :-) With my RelMgr hat on I would be seeing this as to have a -2’d patch in gerrit whose existence I can announce in 20.05 release notes, which would apply to both stable/2005 branch and to master branch,

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-16 Thread Damjan Marion via lists.fd.io
Knowing that even hard-core big-endian systems like PowerPC decided to switch to Little endian and that situation where binary api will be exchanged between BE and LE systems is extremely small, maybe we should consider removing endian conversion from APIs and simply represent data in the nativ

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-15 Thread Balaji Venkatraman via lists.fd.io
Hi Andrew, “ An API that is not touched during a "make test" can not be moved beyond the "in-progress" status. Adding the unit test implies the commitment from the API contributor to follow the option (5) above even for "trivial endianness bugs". “ Absolutely essential! More so, after a

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-15 Thread Paul Vinciguerra
I chimed in initially, because admittedly, I am usually the one breaking the api, (with Vratko telling me to stop breaking CSIT ;/ ) and I learned a lot in the process. 1. The thing we don't have today that would have caught these endian issues are api tests. a. Send in a create and verify all t

Re: (Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-15 Thread Christian Hopps
If I read you correctly, this bug went unnoticed, but has never seen an LTS release. LTS might be the only release people are actually developing products with. :) I also sent some mail about brokenness in the auto-generated endian functions. I noticed this while I was investigating a post 19.0

(Q about fixing endianness bugs in handlers) Re: [vpp-dev] Proposal for VPP binary API stability

2020-05-15 Thread Andrew Yourtchenko
There's a very interesting couple of gerrit changes that just came in today that is worth discussing, and they are a perfect case study to further clarify the process - so I tweaked the subject accordingly.. The API message itself is relatively minor, but regardless of what is agreed that makes a g