summaryrefslogtreecommitdiffstats
path: root/Makefile.am (follow)
Commit message (Collapse)AuthorAgeFilesLines
* build: fix `AM_LDFLAGS` usage (and gcov)David Lamparter2021-07-211-0/+22
| | | | | | | | | | | | | | | | like the other automake variables, setting `xyz_LDFLAGS` causes `AM_LDFLAGS` to be ignored for `xyz`. For some reason I had in my mind that automake doesn't do this for LDFLAGS, but... it does. (Which is consistent with `_CFLAGS` and co.) So, all the libraries and modules have been ignoring `AM_LDFLAGS` (which includes `SAN_FLAGS` too). Set up new `LIB_LDFLAGS` and `MODULE_LDFLAGS` to handle all of this correctly (and move these bits to a central location.) Fixes: #9034 Fixes: 0c4285d77eb ("build: properly split CFLAGS from AC_CFLAGS") Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* debian: Adjust tarsource.sh to use native debian/changelogOndřej Surý2021-07-031-2/+0
| | | | Signed-off-by: Ondřej Surý <ondrej@sury.org>
* build: remove --enable-exampledirDavid Lamparter2021-06-241-3/+0
| | | | | | This is no longer used with the recent config example removal. Signed-off-by: David Lamparter <equinox@diac24.net>
* lib: libyang2 add missed conversionChristian Hopps2021-05-181-0/+5
| | | | Signed-off-by: Christian Hopps <chopps@labn.net>
* lib: rework how we "override" assert()David Lamparter2021-05-021-1/+9
| | | | | | | | | | | The previous method, using zassert.h and hoping nothing includes assert.h (which, on glibc at least, just does "#undef assert" and puts its own definition in...) was fragile - and actually broke undetected. Just provide our own assert.h and control overriding by putting it in a separate directory to add to the include path (or not.) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: turn on automake warnings (& symlinks)David Lamparter2021-04-211-1/+1
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: properly split CFLAGS from AC_CFLAGSDavid Lamparter2021-04-211-0/+1
| | | | | | | | `CFLAGS` is a "user variable", not intended to be controlled by configure itself. Let's put all the "important" stuff in AC_CFLAGS and only leave debug/optimization controls in CFLAGS. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: make builddir include path consistentDavid Lamparter2021-04-211-1/+1
| | | | | | | ... by referencing all autogenerated headers relative to the root directory. (90% of the changes here is `version.h`.) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* Merge pull request #7963 from volta-networks/feat_pceplib_into_frr_githubDonald Sharp2021-03-161-0/+2
|\ | | | | pceplib: Integrate pcelib into frr
| * pceplib: Integrate pcelib into frrJavier Garcia2021-03-051-0/+2
| | | | | | | | | | | | Signed-off-by: Brady Johnson <brady@voltanet.io> Co-authored-by: Javier Garcia <javier.garcia@voltanet.io> Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
* | python/xrelfo: the ELF xref extractorDavid Lamparter2021-02-231-0/+8
|/ | | | | | This creates JSON dumps of all the xref structs littered around FRR. Signed-off-by: David Lamparter <equinox@diac24.net>
* pathd: New SR-TE policy management daemonSebastien Merle2020-12-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new daemon manages Segment-Routing Traffic-Engineering (SR-TE) Policies and installs them into zebra. It provides the usual yang support and vtysh commands to define or change SR-TE Policies. In a nutshell SR-TE Policies provide the possibility to steer traffic through a (possibly dynamic) list of Segment Routing segments to the endpoint of the policy. This list of segments is part of a Candidate Path which again belongs to the SR-TE Policy. SR-TE Policies are uniquely identified by their color and endpoint. The color can be used to e.g. match BGP communities on incoming traffic. There can be multiple Candidate Paths for a single policy, the active Candidate Path is chosen according to certain conditions of which the most important is its preference. Candidate Paths can be explicit (fixed list of segments) or dynamic (list of segment comes from e.g. PCEP, see below). Configuration example: segment-routing traffic-eng segment-list SL index 10 mpls label 1111 index 20 mpls label 2222 ! policy color 4 endpoint 10.10.10.4 name POL4 binding-sid 104 candidate-path preference 100 name exp explicit segment-list SL candidate-path preference 200 name dyn dynamic ! ! ! There is an important connection between dynamic Candidate Paths and the overall topic of Path Computation. Later on for pathd a dynamic module will be introduced that is capable of communicating via the PCEP protocol with a PCE (Path Computation Element) which again is capable of calculating paths according to its local TED (Traffic Engineering Database). This dynamic module will be able to inject the mentioned dynamic Candidate Paths into pathd based on calculated paths from a PCE. https://tools.ietf.org/html/draft-ietf-spring-segment-routing-policy-06 Co-authored-by: Sebastien Merle <sebastien@netdef.org> Co-authored-by: Renato Westphal <renato@opensourcerouting.org> Co-authored-by: GalaxyGorilla <sascha@netdef.org> Co-authored-by: Emanuele Di Pascale <emanuele@voltanet.io> Signed-off-by: Sebastien Merle <sebastien@netdef.org>
* Revert "debian: Adjust tarsource.sh to use native debian/changelog"Quentin Young2020-11-191-0/+2
| | | | This reverts commit 4ffb9a4c9ddd0ef3f770c0bc2674c4818331780d.
* debian: Adjust tarsource.sh to use native debian/changelogOndřej Surý2020-11-191-2/+0
| | | | Signed-off-by: Ondřej Surý <ondrej@sury.org>
* vtysh: dynamically generate the list of daemons for commandsIgor Ryzhov2020-10-021-0/+1
| | | | | | | Some daemons were actually missing from the static definitions: nhrpd, babeld, eigrpd and bfdd. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
* *: Remove solaris from FRRDonald Sharp2020-09-211-1/+0
| | | | | | | | | | The Solaris code has gone through a deprecation cycle. No-one has said anything to us and worse of all we don't have any test systems running Solaris to know if we are making changes that are breaking on Solaris. Remove it from the system so we can clean up a bit. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* python: add graphviz callgraphsDavid Lamparter2020-05-051-1/+10
| | | | | | Uses the JSON data extracted from LLVM bitcode by tools/frr-llvm-cg. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: add LLVM bitcode targetsDavid Lamparter2020-05-051-2/+30
| | | | | | | Just an easy way to produce LLVM .bc (bitcode) files. Not used during normal builds. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* tools: frr-llvm-cgDavid Lamparter2020-05-051-0/+1
| | | | | | | | | | This dumps call graph data from LLVM bitcode files into a JSON file. Specifically for FRR, it understands thread_add_*(), hook_*() and install_element() so it can provide extra information in these cases. As a general feature, it tries to track down function pointers as far as easily feasible. Signed-off-by: David Lamparter <equinox@diac24.net>
* build: make clippy Makefile rules nicerDavid Lamparter2020-04-271-0/+2
| | | | | | | These are easy to get subtly wrong, and doing so can cause nondeterministic failures when racing in parallel builds. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* python: move MakeVars class into separate moduleDavid Lamparter2020-04-271-0/+1
| | | | | | ... so I can reuse it. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* lib: new defaults logicDavid Lamparter2019-12-061-2/+0
| | | | | | | Since we've been writing out "frr version" and "frr defaults" for about a year and a half now, we can now actually use them to manage defaults. Signed-off-by: David Lamparter <equinox@diac24.net>
* Zebra: ADD Protobuf Encoding & Decoding for MLAG MessagesSatheesh Kumar K2019-11-141-1/+1
| | | | | | | | | 1. add the Mlag ProtoBuf Lib to Zebra Compilation 2. Encode the messages with protobuf before writing to MLAG 3. Decode the MLAG Messages using protobuf and write to clients based on their subscrption. Signed-off-by: Satheesh Kumar K <sathk@cumulusnetworks.com>
* lib,mlag : Defining MLAG Proto fileSatheesh Kumar K2019-11-141-0/+1
| | | | | | Defining the message structures between Zebra & MLAG Signed-off-by: Satheesh Kumar K <sathk@cumulusnetworks.com>
* Revert "Merge pull request #4885 from satheeshkarra/pim_mlag"Quentin Young2019-10-141-1/+0
| | | | | This reverts commit d563896dada99f3474d428f928786cbfde936fee, reversing changes made to 09ea1a40386f02a13cdb0462cc55af0d03f0c277.
* Zebra: ADD Protobuf Encoding & Decoding for MLAG MessagesSatheesh Kumar K2019-09-241-1/+1
| | | | | | | | | 1. add the Mlag ProtoBuf Lib to Zebra Compilation 2. Encode the messages with protobuf before writing to MLAG 3. Decode the MLAG Messages using protobuf and write to clients based on their subscrption. Signed-off-by: Satheesh Kumar K <sathk@cumulusnetworks.com>
* lib,mlag : Defining MLAG Proto fileSatheesh Kumar K2019-09-241-0/+1
| | | | | | Defining the message structures between Zebra & MLAG Signed-off-by: Satheesh Kumar K <sathk@cumulusnetworks.com>
* build: improve clippy optionsDavid Lamparter2019-06-121-0/+6
| | | | | | | | | | * adds a `--with-clippy=...` option to use a prebuilt clippy binary * limits the autoconf tests done for `--enable-clippy-only` (e.g. no libyang) Fixes: #3921 Fixes: #4006 Signed-off-by: David Lamparter <equinox@diac24.net>
* vrrpd: initial commitQuentin Young2019-05-171-1/+2
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* build: fix Lua buildQuentin Young2019-05-101-1/+3
| | | | | | | | | | | | | | | | | | Each of Lua's major versions are incompatible with each other. Ubuntu, at least, does not provide a single liblua.so or /usr/include/lua; all SOs and headers are versioned, e.g. liblua5.3.so and /usr/include/lua5.3. There's already an m4 macro in the GNU collection to handle this situation, so let's use that. This allows building with Lua enabled to work on platforms other than Fedora. * Move lib/lua.[ch] -> lib/frrlua.[ch] to prevent path conflicts * Fix configure.ac search for proper CPP and linker flags * Add Lua include path to AM_CPPFLAGS * Update vtysh/extract.pl.in Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* Merge pull request #4082 from opensourcerouting/grpc-nb-pluginQuentin Young2019-05-071-0/+2
|\ | | | | gRPC northbound plugin
| * lib: add new gRPC-based northbound pluginRenato Westphal2019-04-261-0/+2
| | | | | | | | | | | | | | This is an experimental plugin for now. Full documentation will come later. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* | lib, yang: disable libyang custom user types temporarilyRenato Westphal2019-05-071-2/+0
|/ | | | | | | | | | | | | | | | | | libyang 1.0 introduced a few changes in the user types API, and these changes made FRR incompatible with libyang 1.x. In order to ease our migration from libyang 0.x to libyang 1.x, let's disable our libyang custom user types temporarily so that FRR can work with both libyang 0.x and libyang 1.x. This should be especially helpful to the CI systems during the transition. Once the migration to libyang 1.x is complete, this commit will be reverted. Disabling our libyang custom user types should have only minimal performance implications when processing configuration transactions. The user types infrastructure should be more important in the future to perform canonization of YANG data values when necessary. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* ports: remove abandoned ports subdirectoryRenato Westphal2019-04-181-1/+0
| | | | | | | | This subdirectory is outdated in all possible ways. Remove it. FRR already has a FreeBSD port and it's maintained separately. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* Merge pull request #3989 from opensourcerouting/redhat-new-initDonald Sharp2019-03-251-3/+0
|\ | | | | redhat: switch to new init script
| * redhat: switch to new init scriptDavid Lamparter2019-03-211-3/+0
| | | | | | | | | | | | | | | | Drop the special versions of frr.init/frr.service/daemons from redhat/ and use the generic versions instead. Tested-by: Liam McBirnie <liam.mcbirnie@boeing.com> Signed-off-by: David Lamparter <equinox@diac24.net>
* | doc: move rpm build doc to dev docsQuentin Young2019-03-221-1/+0
|/ | | | | | ------------{ <(O.O)> }------------ Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* debian: cleanly split off from dist tarballDavid Lamparter2019-02-191-1/+2
| | | | | | | | | | | | | | | | | The debian/ directory is distributed separately for tarballs in 3.0 (quilt) format. Including it in the dist tarball causes problems with automake when the separately distributed debian directory is unpacked on top of the dist tarball; the clean and correct thing to do here is to not include the debian/ directory in dist tarballs. Users have two choices for building FRR Debian packages: - build straight off git - build from a "frr.tar" + "frr-debian.tar" The tarsource.sh tool does the right thing when invoked with the -D ("Debian") option. Signed-off-by: David Lamparter <equinox@diac24.net>
* debian: make package "official"David Lamparter2019-02-191-1/+1
| | | | | | Move us into place in debian/ Signed-off-by: David Lamparter <equinox@diac24.net>
* build: fix a whole bunch of *FLAGSDavid Lamparter2019-01-301-1/+2
| | | | | | | | | - some target_CFLAGS that needed to include AM_CFLAGS didn't do so - libyang/sysrepo/sqlite3/confd CFLAGS + LIBS weren't used at all - consistently use $(FOO_CFLAGS) instead of @FOO_CFLAGS@ - 2 dependencies were missing for clippy Signed-off-by: David Lamparter <equinox@diac24.net>
* Fix 'make clean' os Mac OSRuben Kerkhof2019-01-221-2/+2
| | | | | | | | | | | | | | | | The find command on Mac OS needs a path as first argument, or else it outputs: find -name __pycache__ -o -name .pytest_cache | xargs rm -rf find: illegal option -- n usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression] find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression] find -name "*.pyc" -o -name "*_clippy.c" | xargs rm -f find: illegal option -- n usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression] find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression] Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
* topotests: Adapt docker changes for integrated testsChristian Franke2018-11-291-0/+1
| | | | Signed-off-by: Christian Franke <chris@opensourcerouting.org>
* lib: introduce new northbound APIRenato Westphal2018-10-271-0/+5
| | | | Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* build: add "redistclean" targetDavid Lamparter2018-10-241-0/+3
| | | | | | | | This puts a source tree back in the state it was in after unpacking a dist tarball. Different from distclean in that it doesn't remove files that are included in the tarball. Signed-off-by: David Lamparter <equinox@diac24.net>
* build: make clean and dist consistentDavid Lamparter2018-10-241-0/+7
| | | | | | | We weren't cleaning up some files (a whole lot of python foobar) and had some files in the dist tarball that don't quite belong there. Signed-off-by: David Lamparter <equinox@diac24.net>
* build: carry --with-pkg-extra-version into tarballsDavid Lamparter2018-10-241-0/+1
| | | | | | | | | | If we use "./configure --with-pkg-extra-version=... && make dist", we probably want the dist tarball to remember the extra version it was configured with. Use --without-pkg-extra-version to kill the tag. Signed-off-by: David Lamparter <equinox@diac24.net>
* build: try to use -D option for ar and ranlibDavid Lamparter2018-10-191-0/+4
| | | | | | | | | | The -D option zeroes out timestamps in .a files and has become the default on recent distributions to enable reproducible builds. This also shuts up the "u ignored because D is default" warning that is showing up on some distributions. Signed-off-by: David Lamparter <equinox@diac24.net>
* lib: add libunwind support for backtracesDavid Lamparter2018-10-181-0/+1
| | | | | | | | | | | | | | libunwind provides an alternate to backtrace() for printing out the call stack of a particular location. It doesn't use the frame pointer, it goes by the DWARF debug info. In most cases the traces have exactly the same information, but there are some situations where libunwind traces are better. (On some platforms, the libc backtrace() also uses the DWARF debug info [e.g.: ARM backtraces are impossible without it] but this is not the case everywhere, especially not on BSD libexecinfo.) Signed-off-by: David Lamparter <equinox@diac24.net>
* build: add --enable-static-bin optionDavid Lamparter2018-10-011-0/+2
| | | | | | | | | This option can be used to get statically linked binaries. Note: libfrr.la is removed from modules' library dependency list. This is intentional and explained in a comment in lib/subdir.am. Signed-off-by: David Lamparter <equinox@diac24.net>
* frr: add README.md to EXTRA_DISTQuentin Young2018-09-101-0/+1
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>