[cmaster-next] support for capnproto API on Quagga

Philippe Guibert philippe.guibert at 6wind.com
Mon Dec 12 13:02:47 EST 2016


Hello David,

In order to facilitate the review, I juste pushed the capnproto patch
into osr repository.
The branch is quagga_1_1_0_mpbgp_capnp

Please let me give you some pointers regarding the capnproto changes:
Most of the work is inherited from your work.

As far as I know, one issue is related to c-code generation, since
currently, the qzc.capnp and bgp.capnp files are manually maintained.
I don't know how this case will be handled, since currently I think
the improved capnp compiler is not available yet.

Compared to the initial proposal you made, other changed points are

- some sanity checks on "auto-generated" code has been fixed
more information:
  * bgpd: capnp warning compilation fix*

- the BGPVRFInfoIter mecanism has been enhanced to parse the multipath entries
An opaque pointer is transferred between the client and the server.
This pointer permits the client to know that an ECMP information is
next information.
more information:
  * bgpd: pubsub route updates *
  * bgpd: change capnproto way for retrieving multipath entries
through capnproto *

- the structures settings have been completed ( new or already existing fields).

I would also like to submit you some other points related to capnproto.
Those points are out of the scope of the patch, but will be discussed
with the next capnproto patch I willl send when applied to EVPN.

- what about generation related to union structures ?
The following capnproto extract should carry more complex prefix
structure, embedding macaddress, ethernet tag, and IP addresses.
* lib: add new prefix macip *
* bgpd: add capnproto support for prefix definition *

- I encountered a case where a return code from BGP had to be
returned. capnproto code does not handle well the return code. An
more information:
* lib: check return code in qzc setelement *
* bgpd: check return code in qzc setelement adaptations *

A fresh lookup on the review will be welcome,

Best Regards,

Philippe

On Wed, Dec 7, 2016 at 8:09 AM, Philippe Guibert
<philippe.guibert at 6wind.com> wrote:
> Hi all,
>
> Hi David,
>
> Following the weekly technical meeting, it appeared that capnproto is
> a feature that will be needed by cmaster-next.
> It also appears, that as first contributor to quagga canproto, you
> could help me in reviewing the capnproto work ( link sent in previous
> mail).
>
> Based on your review, I will update the patch series and rebase i on
> cmaster-next too.
>
> Thanks for your help,
>
> Best Regards,
>
> Philippe
>
> On Sun, Dec 4, 2016 at 3:16 PM, Philippe Guibert
> <philippe.guibert at 6wind.com> wrote:
>> Hi all,
>>
>> I am working on some support of capnproto interface on Quagga
>> (following David's contribution).
>> In order to avoid duplication of effort, I would like first to get
>> your review from cmaster-next community,
>> The code can be seen here:
>>
>> https://lists.quagga.net/pipermail/quagga-dev/2016-December/016521.html
>>
>> then, based on your reviews, I'll update the patch series and I'll
>> work to rebase it on cmaster-next too.
>>
>> Thanks,
>>
>> Regards,
>>
>> Philippe




More information about the dev mailing list