summaryrefslogtreecommitdiffstats
path: root/Makefile.am (follow)
Commit message (Collapse)AuthorAgeFilesLines
* build: add Makefile variable easy accessDavid Lamparter2018-08-301-0/+14
| | | | | | | This adds 2 helper targets for use in scripts to easily get at Makefile variables without parsing the Makefile or config.status. Signed-off-by: David Lamparter <equinox@diac24.net>
* build: add warning when overwriting vars on "make"David Lamparter2018-08-301-0/+42
| | | | | | | | doing things like `make CC="mmix-linux-musl-gcc"` breaks the hosttools/ cross-compilation setup pretty hard and just straight up should not be done. These vars belong on `configure`, not `make`. Signed-off-by: David Lamparter <equinox@diac24.net>
* build: non-recursive solarisDavid Lamparter2018-08-301-2/+3
| | | | Signed-off-by: David Lamparter <equinox@diac24.net>
* build: non-recursive debianpkgDavid Lamparter2018-08-301-1/+1
| | | | Signed-off-by: David Lamparter <equinox@diac24.net>
* build: non-recursive doc + parallel sphinxDavid Lamparter2018-08-301-2/+13
| | | | | | | | | | | | | | Sphinx actually does work with a parallel build, if the doctree creation is a separate step (which the other builds will then just read unmodified.) This can be done with the "dummy" target. This also adds "-j6" to sphinx-build and adds a "--disable-doc-html" switch on ./configure to turn on/off building HTML docs separately. Also, HTML docs are now installed by "make install" to /usr/share/doc/frr/html. Signed-off-by: David Lamparter <equinox@diac24.net>
* bfdd: wire to the build processRafael Zalamena2018-08-081-0/+1
| | | | | | | | | Add BFD daemon to the build process and packaging instructions. Currently the bfdd daemon does nothing, this is just to document how the daemon insertion step occured. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
* staticd: Start the addition of a staticdDonald Sharp2018-07-291-0/+1
| | | | | | | | | This is the start of separating out the static handling code from zebra -> staticd. This will help simplify the zebra code and isolate static route handling to it's own code base. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* Merge pull request #2652 from LabNConsulting/working/master/confdate_cleanupDonald Sharp2018-07-231-2/+1
|\ | | | | Simplify deprecation check
| * *: VERSION_TYPE no longer needed -- remove itLou Berger2018-07-101-2/+1
| | | | | | | | Signed-off-by: Lou Berger <lberger@labn.net>
* | unit tests: support code coverage instrumentation and reportsArthur Jones2018-07-041-0/+20
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, make check runs the unit tests and reports pass/fail, but we have no way to guage how much of the code is covered by these tests. gcov provides those statistics on a per source file basis, but requires special CFLAGS and LDFLAGS. Here, we add the --enable-gcov configure option to setup those options correctly. We also add a make target called check-coverage, which runs the unit tests, runs gcov and uploads the data to the codecov.io cloud service for display. Finally, we include a Dockerfile-coverage which creates a container image in alpine linux to run the tests. To create the image: $ docker build \ --build-arg commit=`git rev-parse HEAD` \ --build-arg token=<upload token from codecov.io> \ -t frr-gcov:latest \ -f docker/alpine/Dockerfile-coverage . and to create and upload the report: $ docker run -it --rm frr-gcov:latest Testing done: Created and uploaded a report from my fork using alpine linux 3.7. Non-coverage alpine 3.7 build still works. Issue: https://github.com/FRRouting/frr/issues/2442 Signed-off-by: Arthur Jones <arthur.jones@riverbed.com>
* *: disable all sanitizers for clippy buildQuentin Young2018-06-081-2/+1
| | | | | | | | | | | * Move configure flag propagations out of user flags * Use AC_SUBST to transfer flag values to Automake * Set default AM_CFLAGS and AM_CPPFLAGS in common.am and change child Makefiles to modify these base variables * Add flag override to turn off all sanitizers when building clippy * Remove LSAN suppressions blacklist as it's no longer needed Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* *: remove update-autotoolsQuentin Young2018-05-251-1/+0
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* doc: add "Getting Started" sectionQuentin Young2018-05-161-1/+0
| | | | | | | | | | | | While we have docs on various pieces of the build system we don't have any docs on how to actually get FRR running once it's installed, nor do we have comprehensive documentation on the basic procedure for building from source. This patch remedies both of those. Also updated the services list in the docs and removed the SERVICES file from the project root. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* *: clean up various top level stuffQuentin Young2018-05-081-1/+0
| | | | | | | | | * Updated README to point to new bug report location * Updated README to point to community doc location * Remove COMMUNITY.md * Remove references to no longer extant docs in packaging files Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* pbrd: Add PBR to FRRDonald Sharp2018-04-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an implementation of PBR for FRR. This implemenation uses a combination of rules and tables to determine how packets will flow. PBR introduces a new concept of 'nexthop-groups' to specify a group of nexthops that will be used for ecmp. Nexthop-groups are specified on the cli via: nexthop-group DONNA nexthop 192.168.208.1 nexthop 192.168.209.1 nexthop 192.168.210.1 ! PBR sees the nexthop-group and installs these as a default route with these nexthops starting at table 10000 robot# show pbr nexthop-groups Nexthop-Group: DONNA Table: 10001 Valid: 1 Installed: 1 Valid: 1 nexthop 192.168.209.1 Valid: 1 nexthop 192.168.210.1 Valid: 1 nexthop 192.168.208.1 I have also introduced the ability to specify a table in a 'show ip route table XXX' to see the specified tables. robot# show ip route table 10001 Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, P - PIM, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR, > - selected route, * - FIB route F>* 0.0.0.0/0 [0/0] via 192.168.208.1, enp0s8, 00:14:25 * via 192.168.209.1, enp0s9, 00:14:25 * via 192.168.210.1, enp0s10, 00:14:25 PBR tracks PBR-MAPS via the pbr-map command: ! pbr-map EVA seq 10 match src-ip 4.3.4.0/24 set nexthop-group DONNA ! pbr-map EVA seq 20 match dst-ip 4.3.5.0/24 set nexthop-group DONNA ! pbr-maps can have 'match src-ip <prefix>' and 'match dst-ip <prefix>' to affect decisions about incoming packets. Additionally if you only have one nexthop to use for a pbr-map you do not need to setup a nexthop-group and can specify 'set nexthop XXXX'. To apply the pbr-map to an incoming interface you do this: interface enp0s10 pbr-policy EVA ! When a pbr-map is applied to interfaces it can be installed into the kernel as a rule: [sharpd@robot frr1]$ ip rule show 0: from all lookup local 309: from 4.3.4.0/24 iif enp0s10 lookup 10001 319: from all to 4.3.5.0/24 iif enp0s10 lookup 10001 1000: from all lookup [l3mdev-table] 32766: from all lookup main 32767: from all lookup default [sharpd@robot frr1]$ ip route show table 10001 default proto pbr metric 20 nexthop via 192.168.208.1 dev enp0s8 weight 1 nexthop via 192.168.209.1 dev enp0s9 weight 1 nexthop via 192.168.210.1 dev enp0s10 weight 1 The linux kernel now will use the rules and tables to properly apply these policies. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Signed-off-by: Don Slice <dslice@cumulusnetworks.com> Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* Makefile.am: change verstion type detection, if just numbers = _RELEASE, ↵Lou Berger2018-04-051-1/+1
| | | | | | _DEV otherwise Signed-off-by: Lou Berger <lberger@labn.net>
* Makefile.am: add automatic defintion of VERSION_TYPE_(DEV_|RELEASE) CPP typeLou Berger2018-04-031-1/+2
| | | | Signed-off-by: Lou Berger <lberger@labn.net>
* Makefile.am: Add 'make indent' targetLou Berger2018-03-061-0/+3
| | | | Signed-off-by: Lou Berger <lberger@labn.net>
* sharpd: Add Super Happy Advanced Routing ProtocolDonald Sharp2017-11-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a daemon that will allow us to test the zapi as well as test route install/removal times from the kernel. The current commands are: install route <starting ip address> nexthop <nexthop> (1-1000000) This command starts installing at <starting ip address>/32 (1-100000) routes that it auto-increments by 1 Installation start time is noted in the log and finish time is noted as well. remove routes <starting ip address> (1-1000000) This command removes routes at <starting ip address>/32 and removes (1-100000) routes created by the install route command. This code can be considered experimental and *is not* something that should be run in a production environment. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* Makefile.am: Fix Merge error - missing charMartin Winter2017-11-181-1/+1
| | | | Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
* debian->debianpkg: Move debian files from debian dir to debianpkg dir.Martin Winter2017-11-181-1/+1
| | | | | | | | | Debian build systems use debian subdir for building and having a debian dir in the source package causes issues. Moving it to debianpkg avoids the issue and allows us to ship debian package files in the source distribution Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
* debian/backports: include in distfile, don't put files in ..Silas McCroskey2017-11-181-0/+1
| | | | | | | | | | | Testing-done: ran 'make dist', unpacked elsewhere, built from result Adjusted target to build the .orig.tar.gz accordingly, since it must exclude the debian/ subdirectory. Allows for building any backport from only a tarball. Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com> Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
* build: include our own copies of some linux kernel headersRenato Westphal2017-10-241-1/+3
| | | | | | | | | | | | | | | This is the definitive solution to avoid build issues on old Linux systems, where the system kernel headers might not contain some constants or macros used by FRR (e.g. MPLS_IPTUNNEL_DST, introduced on 2015). This is the same strategy adopted by other projects, like iproute2, libnl, lldpd, strongswan, etc. These header files don't need to be in sync with upstream, they only need to be updated when necessary (e.g. if we want to use a new feature introduced by a recent kernel). Fixes #962 using the solution suggested by David Lamparter. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* build: non-recursive pimdDavid Lamparter2017-09-071-2/+2
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: non-recursive watchfrr & toolsDavid Lamparter2017-09-071-10/+7
| | | | | | (also forgot to remove AC_SUBST(ISISD) earlier) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* lib: split off compiler magic into its own fileDavid Lamparter2017-08-241-1/+1
| | | | | | Also make timed notices available via CONFDATE. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: fix libtool stupidity wrt. parallel installDavid Lamparter2017-08-241-0/+8
| | | | | | | | there's no dependency between libraries and other things to be installed, but libtool in its 90ies design wants to relink libraries when installing them. Add manual dependencies to work around this. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: non-recursive babeld & eigrpdDavid Lamparter2017-08-041-3/+5
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: non-recursive ldpdDavid Lamparter2017-08-041-2/+3
| | | | | | | | | | | | | | | | | | | | This also fixes a build problem where using #include "ldpd/ldp_vty_cmds_clippy.c" results in the Makefile dependency tracking having both ldp_vty_cmds.c: ldp_vty_cmds_clippy.c ldp_vty_cmds.c: ../ldpd/ldp_vty_cmds_clippy.c (because, if it's included as "ldpd/..", it uses the "-I.." include path in gcc, so the gcc -MD dependency output is "../ldpd/...") ... all of which causes the build to try to build it twice (at the same time) and fail rather stupidly. With a non-recursive build, the two paths are identical and everything just works. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: clean up BUILT_SOURCESDavid Lamparter2017-08-041-0/+1
| | | | | | | | | | | | | | | BUILT_SOURCES doesn't do what the name suggests. What it actually means is "these files should be built first when doing a 'make' without explicit target" (or "make all"). It's pretty much almost always wrong to use BUILT_SOURCES, the only correct use is when a file is needed by an unspecified / large set of files. Also remove version.h and route_types.h from dist tarball while we're at it. configure will create them anyway. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: non-recursive nhrpdDavid Lamparter2017-08-041-2/+3
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: non-recursive isisdDavid Lamparter2017-08-041-2/+3
| | | | | | (Also fix a minor snafu in the autoconf logic) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: non-recursive ospf*David Lamparter2017-08-041-4/+7
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: non-recursive ripd & ripngdDavid Lamparter2017-08-041-2/+5
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: non-recursive auxiliary directoriesDavid Lamparter2017-07-311-8/+51
| | | | | | | Flatten {m4,pkgsrc,python,redhat,snapcraft}/Makefile.am into the main one. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: non-recursive qpb & fpmDavid Lamparter2017-07-311-2/+5
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: convert zebra/ to non-recursive buildDavid Lamparter2017-07-311-3/+9
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: convert lib/ to non-recursive buildDavid Lamparter2017-07-311-4/+24
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: Hard directory instead of dynamic so make distribution works correctlyRyan Hagelstrom2017-07-071-3/+2
|
* python: clidef.pyDavid Lamparter2017-06-141-1/+3
| | | | | | | Adds "DEFPY()" which invokes an additional layer of preprocessing, so that we get pre-parsed and named function arguments for the CLI. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* *: Initial Import of Babeld into FRRDonald Sharp2017-05-131-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | This is a direct copy of: https://github.com/boutier/quagga-merge From the branch babel-merge I copied the babeld directory into FRR and then fixed up everything to compile. Babeld at this point in time when run will more than likely crash and burn in it's interfactions with zebra. I might have messed up the cli, which will need to be looked at extract.pl.in and vtysh.c need to be fixed up. Additionally we probably need to work on DEFUN_NOSH conversion in babeld as well This code comes from: Matthieu Boutier <boutier@irif.fr> Juliusz Chroboczek <jch@irif.fr> Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* Merge remote-tracking branch 'origin/master' into datacenterDonald Sharp2017-05-081-2/+2
|\
| * Merge remote-tracking branch 'origin/master' into EIGRPDonald Sharp2017-04-061-0/+2
| |\
| * | eigrp: Initial CommitDonald Sharp2017-03-091-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Please Note, I will be redoing this commit message with more information. Additionally I will rework the lib/* changes into their own commits. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | | *: Remove cumulus DirectoryDonald Sharp2017-05-041-2/+2
| |/ |/| | | | | Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | Merge branch 'stable/2.0'David Lamparter2017-04-041-0/+2
|\ \ | |/ |/| | | | | | | Fixed minor conflicts from "defaults" change on stable. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * *: track version & "defaults" in configsDavid Lamparter2017-03-281-0/+2
| | | | | | | | | | | | [CF]: Move default name to autoconf and update tests Signed-off-by: Christian Franke <chris@opensourcerouting.org>
* | nhrpd: implement next hop resolution protocolTimo Teräs2017-03-071-2/+3
|/ | | | | | | | | | This provides DMVPN support and integrates to strongSwan. Please read README.nhrpd and README.kernel for more details. [DL: cherry-picked from dafa05e65fe4b3b3ed5525443f554215ba14f42c] [DL: merge partially resolved, this commit will not build.] Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* snapcraft: Add snapcraft build and definition filesMartin Winter2017-01-251-2/+2
| | | | Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
* watchfrr: Rename watchquagga -> watchfrrDonald Sharp2017-01-041-2/+2
| | | | Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>