Avneesh - I'm inclined to give an Ack to patches 1-3, especially once the small nits are fixed. I'm not convinced we need the ability to call random functions from the cli even in a dev build so I would lean towards a Nack on 4-6. I would be interested in seeing if anyone else has thoughts on the matter though.
donald On Fri, Mar 11, 2016 at 3:21 PM, Avneesh Sachdev <avne...@sproute.com> wrote: > Hi, > > This patch set is related to the use of protobuf as a > messaging/serialization format. A quick overview of the patches: > > - Patch 1 > > Infrastructure for using protobuf in quagga. This includes > build-related changes, protobuf definitions for common quagga > types and a library of routines to convert between quagga and > protobuf types. > > - Patches 2 & 3 > > These patches modify zebra to optionally use protobuf as the > message format over the FPM interface. The netlink format is still > supported and remains the default. > > - Patch 4 > > Small patch that introduces the notion of a 'development build' -- > a build that may use code/features/settings that are not suitable > for deployment. > > - Patch 5 > > [Development build only] > > Infrastructure that allows a user to invoke a function within a > daemon from vtysh. This allows some white-box testing in a > realistic setup without requiring the code to be restructured. > > - Patch 6 > > This patch adds test functions that can be used to compare the > encode/decode performance of protobuf and netlink using the 'vty > invoke' functionality added in the previous patch. > > Note that the code that defines the message format between zebra and > FPM is dual-licensed as before (choice between GPLv2 and ISC). For > protobuf, this includes the definitions in qpb/qpb.proto and > fpm.proto. > > Please let me know if you have any questions about this work. > > Thanks, > Avneesh > > Avneesh Sachdev (6): > Add support for protobuf. > Add protobuf support for FPM. > zebra: optionally use protobuf with FPM > build: support for "development build" > vtysh: support for invoking functions by name > zebra: add developer test functions for FPM code > > .gitignore | 3 + > Makefile.am | 2 +- > common.am | 41 +++++ > configure.ac | 65 +++++++- > fpm/.gitignore | 15 ++ > fpm/Makefile.am | 21 +++ > fpm/fpm.h | 38 ++++- > fpm/fpm.proto | 119 +++++++++++++++ > fpm/fpm_pb.h | 63 ++++++++ > lib/Makefile.am | 2 +- > lib/thread.h | 3 + > lib/vty.c | 4 + > lib/vty_invoke.c | 120 +++++++++++++++ > lib/vty_invoke.h | 30 ++++ > qpb/.gitignore | 15 ++ > qpb/Makefile.am | 20 +++ > qpb/README.txt | 1 + > qpb/linear_allocator.h | 207 +++++++++++++++++++++++++ > qpb/qpb.h | 372 > +++++++++++++++++++++++++++++++++++++++++++++ > qpb/qpb.proto | 121 +++++++++++++++ > qpb/qpb_allocator.c | 67 ++++++++ > qpb/qpb_allocator.h | 113 ++++++++++++++ > vtysh/vtysh.c | 78 ++++++++++ > zebra/Makefile.am | 14 +- > zebra/main.c | 14 +- > zebra/zebra_fpm.c | 139 ++++++++++++++--- > zebra/zebra_fpm.h | 3 +- > zebra/zebra_fpm_dt.c | 275 +++++++++++++++++++++++++++++++++ > zebra/zebra_fpm_private.h | 5 + > zebra/zebra_fpm_protobuf.c | 313 ++++++++++++++++++++++++++++++++++++++ > 30 files changed, 2243 insertions(+), 40 deletions(-) > create mode 100644 common.am > create mode 100644 fpm/.gitignore > create mode 100644 fpm/Makefile.am > create mode 100644 fpm/fpm.proto > create mode 100644 fpm/fpm_pb.h > create mode 100644 lib/vty_invoke.c > create mode 100644 lib/vty_invoke.h > create mode 100644 qpb/.gitignore > create mode 100644 qpb/Makefile.am > create mode 100644 qpb/README.txt > create mode 100644 qpb/linear_allocator.h > create mode 100644 qpb/qpb.h > create mode 100644 qpb/qpb.proto > create mode 100644 qpb/qpb_allocator.c > create mode 100644 qpb/qpb_allocator.h > create mode 100644 zebra/zebra_fpm_dt.c > create mode 100644 zebra/zebra_fpm_protobuf.c > > -- > 1.9.1 > > > _______________________________________________ > Quagga-dev mailing list > Quagga-dev@lists.quagga.net > https://lists.quagga.net/mailman/listinfo/quagga-dev >
_______________________________________________ Quagga-dev mailing list Quagga-dev@lists.quagga.net https://lists.quagga.net/mailman/listinfo/quagga-dev