This is take 3 of a patch set related to the use of protobuf as a
messaging/serialization format. My last attempt hit a CI build failure
on OpenBSD and OmniOS, hoping this one fares better.

The original patch set is:

  https://lists.quagga.net/pipermail/quagga-dev/2016-March/014964.html

Changes since the above submission:

  - Fix 'make dist'.

  - Fix build issues on OpenBSD and OmniOS.

  - Replace references to 'GNU Zebra' with 'Quagga'.

  - Remove HAVE_IPV6 ifdefs.

  - Break out automake warning tweak into a separate patch.

  - Add some text to documentation comparing protobuf with netlink.

  - Omit vtysh "invoke" patches.

Here is a quick overview of the salient 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 3 & 4

    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.

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 (5):
  Add support for protobuf.
  build: turn off automake portability warnings
  Add protobuf support for FPM.
  zebra: optionally use protobuf with FPM
  doc: add blurb on use of protobuf with FPM

 .gitignore                 |   3 +
 Makefile.am                |   7 +-
 common.am                  |  41 +++++
 configure.ac               |  53 ++++++-
 doc/main.texi              |  28 +++-
 fpm/.gitignore             |  15 ++
 fpm/Makefile.am            |  29 ++++
 fpm/fpm.h                  |  38 ++++-
 fpm/fpm.proto              | 119 +++++++++++++++
 fpm/fpm_pb.c               |  28 ++++
 fpm/fpm_pb.h               |  63 ++++++++
 qpb/.gitignore             |  15 ++
 qpb/Makefile.am            |  30 ++++
 qpb/README.txt             |   1 +
 qpb/linear_allocator.h     | 207 +++++++++++++++++++++++++
 qpb/qpb.c                  |  29 ++++
 qpb/qpb.h                  | 372 +++++++++++++++++++++++++++++++++++++++++++++
 qpb/qpb.proto              | 121 +++++++++++++++
 qpb/qpb_allocator.c        |  67 ++++++++
 qpb/qpb_allocator.h        | 113 ++++++++++++++
 zebra/Makefile.am          |  10 +-
 zebra/main.c               |  14 +-
 zebra/zebra_fpm.c          | 139 ++++++++++++++---
 zebra/zebra_fpm.h          |   3 +-
 zebra/zebra_fpm_private.h  |   5 +
 zebra/zebra_fpm_protobuf.c | 311 +++++++++++++++++++++++++++++++++++++
 26 files changed, 1817 insertions(+), 44 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.c
 create mode 100644 fpm/fpm_pb.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.c
 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_protobuf.c

-- 
1.9.1


_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to