mirror of
https://git.proxmox.com/git/mirror_frr
synced 2026-03-24 10:51:31 +00:00
Infrastructure that allows protocol buffers to be used in Quagga. The
changes below comprise of:
- Build hooks
- Protobuf definitions for common types.
- Library routines for working with protobuf, including functions
that help translate between common quagga types and their protobuf
equivalents.
Changes:
* qpb/{Makefile.am,README.txt,qpb.h,.gitignore}
Add the qpb library, which provides shared code and definitions
for using protocol buffers in quagga code.
* qpb/qpb.proto
Protobuf definitions that can be shared by all of quagga.
* qpb/linear_allocator.h
An allocator that allocates memory by walking down towards the end
of a buffer. This is used to cheaply allocate/deallocate memory on
the stack for protobuf operations.
* qpb/qpb_allocator.[ch]
Thin layer that allows a linear allocator to be used with the
protobuf-c library.
* common.am
This is an automake fragment that is intended to be shared by
Makefile.am files in the tree. It currently includes definitions
related to protobuf.
* configure.ac
- Add logic to optionally build protobuf code.
By default, protobuf support is enabled if the protobuf C
compiler (protoc-c) is available, and the associated header
files/library can be found.
The user can choose to override this behavior via the new
--disable-protobuf/--enable-protobuf flags.
- Include the quagga protobuf library (qpb) in the build.
* .gitignore
Ignore source code generated by protobuf compiler.
* Makefile.am
Add 'qpb' to the list of subdirectories.
Signed-off-by: Avneesh Sachdev <avneesh@sproute.com>
Edited: Paul Jakma <paul.jakma@hpe.com>: Change the sense of the
configure enable option to require explicit specifying, as
an experimental feature.
|
||
|---|---|---|
| bgpd | ||
| cumulus | ||
| debian | ||
| doc | ||
| fpm | ||
| gdb | ||
| init | ||
| isisd | ||
| ldpd | ||
| lib | ||
| m4 | ||
| ospf6d | ||
| ospfclient | ||
| ospfd | ||
| pimd | ||
| pkgsrc | ||
| ports | ||
| qpb | ||
| redhat | ||
| ripd | ||
| ripngd | ||
| solaris | ||
| tests | ||
| tools | ||
| vtysh | ||
| watchquagga | ||
| zebra | ||
| .gitignore | ||
| AUTHORS | ||
| bootstrap.sh | ||
| buildtest.sh | ||
| ChangeLog | ||
| common.am | ||
| configure.ac | ||
| COPYING | ||
| COPYING.LIB | ||
| HACKING.md | ||
| HACKING.pending | ||
| INSTALL.quagga.txt | ||
| Makefile.am | ||
| NEWS | ||
| README | ||
| README.NetBSD | ||
| REPORTING-BUGS | ||
| SERVICES | ||
| stamp-h.in | ||
| TODO | ||
| update-autotools | ||
Quagga is free software that manages various IPv4 and IPv6 routing protocols. Currently Quagga supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, and RIPng as well as very early support for IS-IS. See the file INSTALL.quagga.txt for building and installation instructions. See the file REPORTING-BUGS to report bugs. Quagga is free software. See the file COPYING for copying conditions.