]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
6 years agodebianpkg: strip ancient/unused cruft
David Lamparter [Mon, 15 Oct 2018 05:00:42 +0000 (07:00 +0200)]
debianpkg: strip ancient/unused cruft

The SNMP MIB directory is unneeded, --enable-poll has been long gone,
the "build" target is straight up wrong (causing FRR to be built in the
install step) and we haven't needed /proc for configure in ages either.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: try to use -D option for ar and ranlib
David Lamparter [Sun, 7 Oct 2018 00:49:20 +0000 (02:49 +0200)]
build: try to use -D option for ar and ranlib

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>
6 years agobuild: fix some escapes in configure.ac
David Lamparter [Sun, 7 Oct 2018 22:49:24 +0000 (00:49 +0200)]
build: fix some escapes in configure.ac

Some test statements were missing "" around variables causing syntax
errors during configure runs.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agotools: add a script for building a Debian package in one step.
Daniil Baturin [Mon, 1 Oct 2018 18:38:44 +0000 (20:38 +0200)]
tools: add a script for building a Debian package in one step.

The script simplifies the relatively lengthy procedure.
It should be invoked from the top level source directory, for example:
./tools/build-debian-package.sh

Signed-off-by: Daniil Baturin <daniil@baturin.org>
6 years agodoc: Use `mv -f` in Makefile
Christian Franke [Fri, 28 Sep 2018 17:32:38 +0000 (19:32 +0200)]
doc: Use `mv -f` in Makefile

Sphinx always runs, even in the `make install` stage. When `make install`
is run as root and then another `make` is run by a nonprivileged user,
some versions of `mv` prompt like this:

    mv: replace 'doc/manpages/_build/man/man.stamp',
                 overriding mode 0644 (rw-r--r--)?

Add -f to `mv` to avoid this. As `-f` is part of Posix, this should be
portable enough.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agotools: Update .gitignore
Christian Franke [Fri, 28 Sep 2018 18:33:29 +0000 (20:33 +0200)]
tools: Update .gitignore

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofrr-reload.py: Add python2 & python3 compatibility.
jpmondet [Sun, 23 Sep 2018 12:22:17 +0000 (14:22 +0200)]
frr-reload.py: Add python2 & python3 compatibility.

Signed-off-by: jpmondet <jp@mondet.org>
6 years agotools/frr: use path settings from ./configure
David Lamparter [Wed, 26 Sep 2018 23:49:07 +0000 (01:49 +0200)]
tools/frr: use path settings from ./configure

...so we properly locate config files and daemons whereever the user
decided to put them.

Signed-Off-By: David Lamparter <equinox@diac24.net>
6 years agofrr: add README.md to EXTRA_DIST
Quentin Young [Thu, 6 Sep 2018 17:14:03 +0000 (17:14 +0000)]
frr: add README.md to EXTRA_DIST

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agofrr: improve README
Quentin Young [Tue, 4 Sep 2018 20:27:54 +0000 (20:27 +0000)]
frr: improve README

Friendly READMEs are all the rage!

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agofrr: remove stale files, allow non-GNU Automake
Quentin Young [Wed, 5 Sep 2018 17:47:53 +0000 (17:47 +0000)]
frr: remove stale files, allow non-GNU Automake

* Add 'foreign' option to allow Automake to ignore missing GNU standard
  files
* Remove AUTHORS
* Remove NEWS
* Remove ChangeLog

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agobuild: move SPHINXBUILD= to configure in rpm build
David Lamparter [Sat, 8 Sep 2018 12:59:24 +0000 (14:59 +0200)]
build: move SPHINXBUILD= to configure in rpm build

Need to pass this on configure now to work properly.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: fix not building docs w/o sphinx
David Lamparter [Wed, 5 Sep 2018 09:25:24 +0000 (11:25 +0200)]
build: fix not building docs w/o sphinx

Can't build manpages without sphinx-build, oops...

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: fix & clean up *SAN flags
David Lamparter [Sun, 2 Sep 2018 18:36:20 +0000 (20:36 +0200)]
build: fix & clean up *SAN flags

ASAN/MSAN/TSAN flags need to be in CFLAGS and LDFLAGS; the latter links
the correct compiler-dependent library.  Also, the configure switch was
broken (--disable-... would enable the sanitizer.)

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: make pkgconfig configure output useful
David Lamparter [Mon, 27 Aug 2018 05:02:59 +0000 (07:02 +0200)]
build: make pkgconfig configure output useful

The variable name is not exactly the most helpful thing there.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: clean up protobuf build integration
David Lamparter [Sun, 2 Sep 2018 13:15:17 +0000 (15:15 +0200)]
build: clean up protobuf build integration

We were linking all libs and binaries against libprotobuf-c if the
option was enabled... that makes no sense at all.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: use -export-dynamic
David Lamparter [Sun, 2 Sep 2018 12:52:43 +0000 (14:52 +0200)]
build: use -export-dynamic

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: move RFPLDADD to bgpd/rfp-example/librfp
David Lamparter [Tue, 21 Aug 2018 18:56:16 +0000 (20:56 +0200)]
build: move RFPLDADD to bgpd/rfp-example/librfp

This makes it slightly easier to replace the stub RFP code with an
external implementation.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agovtysh: make RPKI node non-conditional
David Lamparter [Sat, 18 Aug 2018 16:03:16 +0000 (18:03 +0200)]
vtysh: make RPKI node non-conditional

Whether or not RPKI is enabled during build shouldn't really influence
vtysh; the user can always manually install bgpd_rpki.so later and it
should work.  This also means that the behaviour of "RPKI module not
loaded" is consistent regardless of whether it was a compile-time or
runtime decision.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years ago*: cleanup .gitignore files
David Lamparter [Sat, 18 Aug 2018 03:29:10 +0000 (05:29 +0200)]
*: cleanup .gitignore files

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agotests: properly locate files in builddir
David Lamparter [Sat, 18 Aug 2018 03:00:54 +0000 (05:00 +0200)]
tests: properly locate files in builddir

test_cli.refout is written by configure into the build directory, thus
we need a little special glue to find it correctly.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: move vtysh & manpage listings to subdir.am
David Lamparter [Sat, 18 Aug 2018 04:05:07 +0000 (06:05 +0200)]
build: move vtysh & manpage listings to subdir.am

Since we're now building through one large Makefile, we can easily put
things with their daemons and crossreference nicely.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: remove common.am
David Lamparter [Sat, 18 Aug 2018 03:34:59 +0000 (05:34 +0200)]
build: remove common.am

Fold things into where they make sense.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: include helper Makefiles in dist
David Lamparter [Sat, 18 Aug 2018 18:08:46 +0000 (20:08 +0200)]
build: include helper Makefiles in dist

Need these to have "make" work in subdirectories.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: non-recursive tests
David Lamparter [Wed, 15 Aug 2018 22:26:39 +0000 (00:26 +0200)]
build: non-recursive tests

May SUBDIRS rest in pieces... er, peace.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: non-recursive vtysh
David Lamparter [Wed, 15 Aug 2018 21:55:22 +0000 (23:55 +0200)]
build: non-recursive vtysh

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: non-recursive bgpd & rfp
David Lamparter [Wed, 15 Aug 2018 21:35:51 +0000 (23:35 +0200)]
build: non-recursive bgpd & rfp

Note: no more --with-rfp-path on configure - badly messing with the
build system like this really isn't how to do a conditional external
dependency.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agolib: Add missing smux.h to `make distrib` results
Donald Sharp [Thu, 6 Sep 2018 00:47:07 +0000 (20:47 -0400)]
lib: Add missing smux.h to `make distrib` results

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agodoc: drop colspan/rowspan elements
David Lamparter [Wed, 29 Aug 2018 03:28:06 +0000 (05:28 +0200)]
doc: drop colspan/rowspan elements

The sphinx 'text' writer apparently doesn't support these, and the
'dummy' writer is only available on recent versions, and all of this
makes the build a bit annoying...

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agodoc: html default off
David Lamparter [Sat, 18 Aug 2018 15:06:22 +0000 (17:06 +0200)]
doc: html default off

... RPM builds break if we enable this unconditionally; should really
change this in CI instead.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: add Makefile variable easy access
David Lamparter [Sat, 25 Aug 2018 05:35:31 +0000 (07:35 +0200)]
build: add Makefile variable easy access

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>
6 years agobuild: improve python search pattern
David Lamparter [Wed, 22 Aug 2018 04:04:32 +0000 (06:04 +0200)]
build: improve python search pattern

- try pythonN.N-config after pythonN-config
- use "python-config --ldflags" instead of --libs
- add Python 3.6 to explicitly searched versions
- if linking fails, try with "-lz" added

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: add warning when overwriting vars on "make"
David Lamparter [Tue, 21 Aug 2018 18:33:13 +0000 (20:33 +0200)]
build: add warning when overwriting vars on "make"

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>
6 years agobuild: cache a few more results in ./configure
David Lamparter [Sat, 18 Aug 2018 06:03:02 +0000 (08:03 +0200)]
build: cache a few more results in ./configure

Makes configure re-runs faster if the `-C` option is used.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: -Werror does not belong in AM_CPPFLAGS
David Lamparter [Sat, 18 Aug 2018 03:08:19 +0000 (05:08 +0200)]
build: -Werror does not belong in AM_CPPFLAGS

(probably neither do the ASAN/... FLAGS, but let's leave that alone.)

Also, it was intentional that it's $(WERROR) and not @WERROR@.  The
former can be overwritten at comandline as "make WERROR=" while the
latter can't.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: non-recursive solaris
David Lamparter [Sat, 18 Aug 2018 02:05:55 +0000 (04:05 +0200)]
build: non-recursive solaris

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: fix some oddities in solaris/
David Lamparter [Wed, 15 Aug 2018 22:56:48 +0000 (00:56 +0200)]
build: fix some oddities in solaris/

target_* is always wrong for FRR because we are not a compiler.  We only
use host_* and build_*.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: trigger fewer unneccessary clippy rebuilds
David Lamparter [Wed, 15 Aug 2018 22:03:58 +0000 (00:03 +0200)]
build: trigger fewer unneccessary clippy rebuilds

Make sure we include the clippy binary file in our timestamp mangling so
`make` will correctly determine when clippy files don't need to be
rebuilt.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: non-recursive debianpkg
David Lamparter [Wed, 15 Aug 2018 22:47:28 +0000 (00:47 +0200)]
build: non-recursive debianpkg

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: non-recursive doc + parallel sphinx
David Lamparter [Wed, 15 Aug 2018 20:59:31 +0000 (22:59 +0200)]
build: non-recursive doc + parallel sphinx

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>
6 years agoMerge pull request #3232 from donaldsharp/6.0_revert_default_originate_changes
David Lamparter [Wed, 24 Oct 2018 15:27:03 +0000 (17:27 +0200)]
Merge pull request #3232 from donaldsharp/6.0_revert_default_originate_changes

6.0 revert default originate changes

6 years agoRevert "bgpd: Set attributes according route-maps if applied for default-originate" 3232/head
Donald Sharp [Wed, 24 Oct 2018 12:47:36 +0000 (08:47 -0400)]
Revert "bgpd: Set attributes according route-maps if applied for default-originate"

This reverts commit 74401e62721b8f83ff0e34127d6235fda112c7c8.

6 years agoRevert "bgpd: Make sure default-originate works without route-map as well"
Donald Sharp [Wed, 24 Oct 2018 12:00:36 +0000 (08:00 -0400)]
Revert "bgpd: Make sure default-originate works without route-map as well"

This reverts commit c2e10422033771da9f12a4a283b0bc767240a3d8.

6 years agoMerge pull request #3218 from opensourcerouting/60-bfdmhoplookup
Quentin Young [Tue, 23 Oct 2018 16:49:21 +0000 (12:49 -0400)]
Merge pull request #3218 from opensourcerouting/60-bfdmhoplookup

6.0: bfdd: fix multi hop hash lookup

6 years agobfdd: fix multi hop hash lookup 3218/head
Rafael Zalamena [Sun, 14 Oct 2018 13:39:55 +0000 (15:39 +0200)]
bfdd: fix multi hop hash lookup

Use the proper multi hop hash for matching multi hop peers.

Spotted by Dmitrii Turlupov.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
(cherry picked from commit 2055ea096923406e31a7d0a1a15406b3b62f2255)

6 years agoMerge pull request #3170 from opensourcerouting/60-memleak-fix
Donald Sharp [Mon, 15 Oct 2018 11:43:15 +0000 (07:43 -0400)]
Merge pull request #3170 from opensourcerouting/60-memleak-fix

6.0: backport memory leak fix

6 years agolib: refactor thread_execute 3170/head
Rafael Zalamena [Mon, 1 Oct 2018 16:38:34 +0000 (13:38 -0300)]
lib: refactor thread_execute

Don't allocate threads in the stack, but use the standardized
`thread_get` and `thread_add_unused` to avoid creating corner cases in
the thread API.

This fixes a thread mutex memory leak in FreeBSD.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
(cherry picked from commit c4345fbf71fcc7ef4b64d95979f252c613dd3ebf)

6 years agolib: fix a memory leak in FreeBSD
Rafael Zalamena [Tue, 25 Sep 2018 15:05:53 +0000 (12:05 -0300)]
lib: fix a memory leak in FreeBSD

Two important changes:
* Centralize the thread teardown procedure;
* Save and restore thread mutex context to avoid losing the memory
  pointer;

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
(cherry picked from commit 6655966d2c2fe7a29ca29af4366fa3e044ad1170)

6 years agoFRRouting Release 6.0 frr-6.0
Martin Winter [Mon, 8 Oct 2018 12:32:57 +0000 (05:32 -0700)]
FRRouting Release 6.0

Major Changes since 5.0:
- Staticd: New daemon responsible for management of static routes
- ISISd: Implement dst-src routing as per draft-ietf-isis-ipv6-dst-src-routing
- BFDd: new daemon for BFD (Bidrectional Forwarding Detection). Responsiblei
  for notifying link changes to make routing protocols converge faster.
- various bug fixes

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agoMerge pull request #3131 from donaldsharp/early_6.0
David Lamparter [Thu, 4 Oct 2018 13:09:42 +0000 (15:09 +0200)]
Merge pull request #3131 from donaldsharp/early_6.0

lib: Include compiler.h as early as is possible in the build

6 years agolib: Include compiler.h as early as is possible in the build 3131/head
Donald Sharp [Wed, 3 Oct 2018 16:27:57 +0000 (12:27 -0400)]
lib: Include compiler.h as early as is possible in the build

The compiler.h header provides us with some useful macro's
that we are using in the system.  We do not know exactly
where the CPP_NOTICE and CPP_WARN macros are used but
they can move around.  Place this header early in the
build then.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #3123 from opensourcerouting/6.0-error-code-switch
Quentin Young [Thu, 4 Oct 2018 00:31:50 +0000 (20:31 -0400)]
Merge pull request #3123 from opensourcerouting/6.0-error-code-switch

[6.0] lib: add "log error-code" switch

6 years agolib: add "log error-code" switch 3123/head
David Lamparter [Tue, 2 Oct 2018 22:19:11 +0000 (00:19 +0200)]
lib: add "log error-code" switch

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agoMerge pull request #3078 from opensourcerouting/large_as_path_6
Donald Sharp [Mon, 24 Sep 2018 15:14:50 +0000 (11:14 -0400)]
Merge pull request #3078 from opensourcerouting/large_as_path_6

bgpd: Fix for large AS paths which are split into segments (6.0 branch)

6 years agobgpd: Fix for large AS paths which are split into segments 3078/head
Martin Winter [Fri, 7 Sep 2018 21:43:11 +0000 (14:43 -0700)]
bgpd: Fix for large AS paths which are split into segments

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agoMerge pull request #3054 from donaldsharp/zebra_6.0
Martin Winter [Thu, 20 Sep 2018 16:23:10 +0000 (03:23 +1100)]
Merge pull request #3054 from donaldsharp/zebra_6.0

zebra: Send correct default vrf tableid for MROUTE stats

6 years agoMerge pull request #3048 from donaldsharp/pim_6.0
Martin Winter [Thu, 20 Sep 2018 12:39:13 +0000 (23:39 +1100)]
Merge pull request #3048 from donaldsharp/pim_6.0

pimd: Actually create vif's in non-integrated config

6 years agozebra: Send correct default vrf tableid for MROUTE stats 3054/head
Donald Sharp [Mon, 17 Sep 2018 13:18:40 +0000 (09:18 -0400)]
zebra: Send correct default vrf tableid for MROUTE stats

So the linux kernel uses the RT_TABLE_MAIN for the table
id used for ip routing.  The multicast routing tables use
RT_TABLE_DEFAULT.  We changed the internal code of zebra_vrf
a few months back to use RT_TABLE_MAIN as the tableid to
use.  This caused the pim sg stats to stop working because
of the kernel bug where it uses a different table
for ip routing and ip multicast.

Put a bit of a special case in to do the right thing.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agopimd: Actually create vif's in non-integrated config 3048/head
Donald Sharp [Mon, 17 Sep 2018 17:58:59 +0000 (13:58 -0400)]
pimd: Actually create vif's in non-integrated config

The startup of a non-integrated config was not properly
allowing for startup to create the vif when we have
not learned about the interface we are trying to configure
at this point in time.  Actually notice when we are
trying to create a pimreg device or not to properly
notice when to attempt to create the vif or not.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #3002 from donaldsharp/3001_6.0
Martin Winter [Tue, 11 Sep 2018 03:39:11 +0000 (14:39 +1100)]
Merge pull request #3002 from donaldsharp/3001_6.0

Push 2993 into 6.0

6 years agobgpd: Honor origin change in bgp aggregates 3002/head
Donald Sharp [Mon, 10 Sep 2018 14:19:03 +0000 (10:19 -0400)]
bgpd: Honor origin change in bgp aggregates

When the origin changed we must honor and update the aggregate
to the peer.  This code adds a bit of code to the bgp_aggregate_info_same
code to see if the origin has changed and to indicate that it has.

Fixes: #2993
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agostatic: Put vty_frame around vrf output in staticd.
Donald Sharp [Wed, 29 Aug 2018 02:47:24 +0000 (22:47 -0400)]
static: Put vty_frame around vrf output in staticd.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agostaticd: Fix mixup in vrf translations
Donald Sharp [Wed, 29 Aug 2018 02:45:06 +0000 (22:45 -0400)]
staticd: Fix mixup in vrf translations

When we store the nexthop for ref-counting, keep
track of the nexthop vrf_id as well.  This will allow
us to track the nexthop per vrf!

Additionally when we get the callback from zebra about
a nexthop update, iterate over all static routes to
see if the nexthop we are getting a callback is
one we are concerned about.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agovtysh: Let staticd know about vrf sub-mode
Donald Sharp [Wed, 29 Aug 2018 02:43:42 +0000 (22:43 -0400)]
vtysh: Let staticd know about vrf sub-mode

staticd was not transitioning into vrf sub-mode, this fixes it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #2931 from donaldsharp/pim_zebra_crash
David Lamparter [Tue, 28 Aug 2018 16:13:24 +0000 (18:13 +0200)]
Merge pull request #2931 from donaldsharp/pim_zebra_crash

zebra: Fix crash in mroute debug

6 years agozebra: Fix crash in mroute debug 2931/head
Donald Sharp [Tue, 28 Aug 2018 14:35:35 +0000 (10:35 -0400)]
zebra: Fix crash in mroute debug

There exists a possibility that the ifindex we are passed
does not exist and as such we should check for it not
resolving as part of the debug.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #2930 from donaldsharp/pim_debug
David Lamparter [Tue, 28 Aug 2018 13:56:27 +0000 (15:56 +0200)]
Merge pull request #2930 from donaldsharp/pim_debug

pimd: Add some more useful data to debug output

6 years agopimd: Add some more useful data to debug output 2930/head
Donald Sharp [Tue, 28 Aug 2018 12:50:16 +0000 (08:50 -0400)]
pimd: Add some more useful data to debug output

End user was seeing this debug but we are not giving
the user enough information to debug this on his own.
Add a tiny bit of extra information that could point
the user to solving the problem for themselves.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #2918 from opensourcerouting/fix-watchfrr-sigchld-handling
Donald Sharp [Tue, 28 Aug 2018 11:35:18 +0000 (07:35 -0400)]
Merge pull request #2918 from opensourcerouting/fix-watchfrr-sigchld-handling

watchfrr: fix global restart

6 years agoMerge pull request #2898 from donaldsharp/vrf_bitmap_is_whack
Lou Berger [Sun, 26 Aug 2018 11:49:46 +0000 (07:49 -0400)]
Merge pull request #2898 from donaldsharp/vrf_bitmap_is_whack

lib: Convert vrf bit-map to a hash.

6 years agoMerge pull request #2920 from donaldsharp/bsd_warnings
David Lamparter [Sun, 26 Aug 2018 02:07:35 +0000 (04:07 +0200)]
Merge pull request #2920 from donaldsharp/bsd_warnings

Bsd warnings

6 years agozebra: No prototype and uninited variables 2920/head
Donald Sharp [Sat, 25 Aug 2018 22:28:19 +0000 (18:28 -0400)]
zebra: No prototype and uninited variables

Add a header to cleanup no declaration and properly
wrapper some variables to appropriate #ifdef.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Cleanup uninted `top` variable in ferr.c
Donald Sharp [Sat, 25 Aug 2018 22:27:11 +0000 (18:27 -0400)]
lib: Cleanup uninted `top` variable in ferr.c

The `top` variable could possibly be used without
any initialization, remove the possibility.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoisisd: Include header for function declaration
Donald Sharp [Sat, 25 Aug 2018 22:26:01 +0000 (18:26 -0400)]
isisd: Include header for function declaration

isis_handle_pdu is called but not declared for usage
by not including the appropriate header.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #2897 from donaldsharp/zebra_rnh_fixup
Renato Westphal [Sat, 25 Aug 2018 22:57:58 +0000 (19:57 -0300)]
Merge pull request #2897 from donaldsharp/zebra_rnh_fixup

zebra: When registering a nexthop, we do not always need to re-eval

6 years agoMerge pull request #2895 from donaldsharp/netlink_encap
Renato Westphal [Sat, 25 Aug 2018 22:35:52 +0000 (19:35 -0300)]
Merge pull request #2895 from donaldsharp/netlink_encap

zebra: Add support for static encap mpls labels

6 years agozebra: Add support for static encap mpls labels 2895/head
Stephen Worley [Sat, 11 Aug 2018 22:36:22 +0000 (18:36 -0400)]
zebra: Add support for static encap mpls labels

We were ignoring mpls labels encapped with static routes.
Added support for single and multipath labels.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agowatchfrr: fix global restart 2918/head
Christian Franke [Sat, 25 Aug 2018 15:50:03 +0000 (17:50 +0200)]
watchfrr: fix global restart

watchfrr needs to handle a SIGCHLD also when it calls a global restart
command. Before this patch, it would lead to the following behavior:

15:44:28: zebra state -> down : unexpected read error: Connection reset by peer
15:44:33: Forked background command [pid 6392]: /usr/sbin/frr.init watchrestart all
15:44:53: Warning: restart all child process 6392 still running after 20 seconds, sending signal 15
15:44:53: waitpid returned status for an unknown child process 6392
15:44:53: background (unknown) process 6392 terminated due to signal 15
15:45:13: Warning: restart all child process 6392 still running after 40 seconds, sending signal 9
15:45:33: Warning: restart all child process 6392 still running after 60 seconds, sending signal 9
15:45:53: Warning: restart all child process 6392 still running after 80 seconds, sending signal 9
15:46:13: Warning: restart all child process 6392 still running after 100 seconds, sending signal 9
15:46:33: Warning: restart all child process 6392 still running after 120 seconds, sending signal 9
15:46:53: Warning: restart all child process 6392 still running after 140 seconds, sending signal 9

This is obviously incorrect and can be fixed by comparing the pid to
the global restart object as well.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agostaticd: refcount the nht add/removal 2897/head
Donald Sharp [Sat, 25 Aug 2018 00:42:45 +0000 (20:42 -0400)]
staticd: refcount the nht add/removal

When we add / remove a nexthop that we need to track,
keep track of the number of times we have done this
for each nexthop.  Consequently keep track of the
number of available nexthops, so that we can
just install new routes when we get one
that uses a pre-existing nexthop.  Deletion of
nexthops is done on refcount going to 0.
Removal of routes is handled elsewhere for removal.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: When registering a nexthop, we do not always need to re-eval
Donald Sharp [Thu, 23 Aug 2018 20:05:02 +0000 (16:05 -0400)]
zebra: When registering a nexthop, we do not always need to re-eval

The code prior to this change, was allowing clients to register
for nexthop tracking.  Then zebra would look up the rnh and
send to that particular client any known data.  Additionally
zebra was blindly re-evaluating the rnh for every registration.

This leads to interesting behavior in that all people registered
for that nexthop will get callbacks even if nothing changes.

Modify the code to know if we have evaluated the rnh or not
and if so limit the re-evaluation to when absolutely necessary

This is of particular importance to do because of nht callbacks
for protocols cause those protocols to do not insignificant
work and as more protocols are registering for nht callbacks
we will cause more work than is necessary.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #2910 from opensourcerouting/doc-summerclean-20180825
Donald Sharp [Sat, 25 Aug 2018 10:35:14 +0000 (06:35 -0400)]
Merge pull request #2910 from opensourcerouting/doc-summerclean-20180825

protocol vs. OS docs + SMUX leftovers

6 years agoMerge pull request #2911 from opensourcerouting/remove-linux24-tcp-md5
Donald Sharp [Sat, 25 Aug 2018 10:35:02 +0000 (06:35 -0400)]
Merge pull request #2911 from opensourcerouting/remove-linux24-tcp-md5

lib: remove Linux 2.4 TCP-MD5 support

6 years agolib: remove Linux 2.4 TCP-MD5 support 2911/head
David Lamparter [Sat, 25 Aug 2018 00:54:38 +0000 (02:54 +0200)]
lib: remove Linux 2.4 TCP-MD5 support

Linux 2.6.0 was released in December of 2003... I'm pretty sure we don't
need this Linux 2.4 support anymore.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agobuild: drop unused SMUX client OID MIBs 2910/head
David Lamparter [Sat, 25 Aug 2018 00:21:10 +0000 (02:21 +0200)]
build: drop unused SMUX client OID MIBs

These MIB OIDs were only used to identify clients on the SMUX protocol.
And even for that, they were essentially pointless.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agoMerge pull request #2870 from AnuradhaKaruppiah/bgp-default-del
Russ White [Sat, 25 Aug 2018 00:19:17 +0000 (20:19 -0400)]
Merge pull request #2870 from AnuradhaKaruppiah/bgp-default-del

bgpd: unregister VNI learning from zebra on default instance delete

6 years agoMerge pull request #2908 from chiragshah6/ospf_vrf_dev
Russ White [Sat, 25 Aug 2018 00:17:16 +0000 (20:17 -0400)]
Merge pull request #2908 from chiragshah6/ospf_vrf_dev

ospfd: interface speed change during intf add

6 years agodoc/user: drop SMUX reference, rework intro
David Lamparter [Sat, 25 Aug 2018 00:16:59 +0000 (02:16 +0200)]
doc/user: drop SMUX reference, rework intro

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agodoc/user: add protocols vs. platform table
David Lamparter [Sat, 25 Aug 2018 00:12:42 +0000 (02:12 +0200)]
doc/user: add protocols vs. platform table

A nicely-formatted colorful table of all our daemons and target OS'.
Based off & intended to replace / extend
https://github.com/FRRouting/frr/wiki/Features-and-Kernel-Support

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agoMerge pull request #2685 from netravnen/feature/bgpd/documen-use-of-additional-bgp...
Quentin Young [Fri, 24 Aug 2018 23:05:09 +0000 (19:05 -0400)]
Merge pull request #2685 from netravnen/feature/bgpd/documen-use-of-additional-bgp-well-known-communities

Document bgp well-known communities in PR2684

6 years agoospfd: interface speed change during intf add 2908/head
Chirag Shah [Fri, 24 Aug 2018 22:15:36 +0000 (15:15 -0700)]
ospfd: interface speed change during intf add

The problem is seen where speed mismatch caused ECMP route
not being reflected with correct number paths (NHs).

During cold boot, some interface speed updated by zebra as
part of one shot timer and triggers interface add to clients.
In this case, ospf already have created interface (bond interface),
but speed was not updated, trigger to do interface speed change
as part of interface add, which will trigger all Router LSA to
use updated speed into cost calculation.

Ticket:CM-22170
Testing Done:
Bring up CLOS config with Spine and leafs. Leaf have CLAG pair,
with same VRR ip address.
At spine one of the bond connecting to leaf node was having
higher speed than the paired device, With this fix, at spine (DUT)
bond interface speed is equal from all peer nodes.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
6 years agobgp: Add documentation for IANA well-known communities 2685/head
Christoffer [Fri, 24 Aug 2018 21:57:42 +0000 (23:57 +0200)]
bgp: Add documentation for IANA well-known communities

Coded as part of #2684 and most code written while participating at
BornHack@2018.

bgp_route.c: Changes regarding adding explanations for the IANA
well-known communities added in #2684

Signed-off-by: Christoffer <netravnen@gmail.com>
6 years agodoc: Add documentation for IANA well-known communities
Christoffer [Wed, 22 Aug 2018 23:46:37 +0000 (01:46 +0200)]
doc: Add documentation for IANA well-known communities

Coded as part of #2684 and most code written while participating at
BornHack@2018.

bgp.rst: Explain what the communities does and a summarized edition of
the communities purpose.

Signed-off-by: Christoffer <netravnen@gmail.com>
6 years agoMerge pull request #2891 from opensourcerouting/logging-docs
Quentin Young [Fri, 24 Aug 2018 20:29:46 +0000 (16:29 -0400)]
Merge pull request #2891 from opensourcerouting/logging-docs

doc/developer: logging guide

6 years agoMerge pull request #2907 from donaldsharp/fix_confdate
David Lamparter [Fri, 24 Aug 2018 20:07:55 +0000 (22:07 +0200)]
Merge pull request #2907 from donaldsharp/fix_confdate

bgpd: Fix CONFDATE to 2019 for a couple of items.

6 years agobgpd: Fix CONFDATE to 2019 for a couple of items. 2907/head
Donald Sharp [Fri, 24 Aug 2018 19:21:04 +0000 (15:21 -0400)]
bgpd: Fix CONFDATE to 2019 for a couple of items.

While perusing CONFDATE I noticed that we had a couple
CONFDATE 201805, which we were not picking up( for other
reasons and fixed in a different PR ).  But upon investigation
of these I noticed that the commits where in 201805, so these
CONFDATES should be in 2019

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #2901 from donaldsharp/remove_zapi_deprecated
David Lamparter [Fri, 24 Aug 2018 17:41:17 +0000 (19:41 +0200)]
Merge pull request #2901 from donaldsharp/remove_zapi_deprecated

Remove zapi deprecated

6 years agodoc, lib, zebra: Remove deprecated encode and decode functionality 2901/head
Donald Sharp [Fri, 24 Aug 2018 14:56:15 +0000 (10:56 -0400)]
doc, lib, zebra: Remove deprecated encode and decode functionality

The ZEBRA_IPV4_ROUTE_[ADD|DELETE] and ZEBRA_IPV6_ROUTE_[ADD|DELETE] functionality
has been deprecated for a year now, let's remove this code from the system.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Remove unmaintained and uncompilable code
Donald Sharp [Fri, 24 Aug 2018 14:49:20 +0000 (10:49 -0400)]
zebra: Remove unmaintained and uncompilable code

The zebra/client_main.c code is not being maintained or used.
Remove from system.  Especially since the encode/decode
zapi functionality it `purports` to be testing is deprecated
and now being removed.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #2804 from kssoman/bgp_fix
Donald Sharp [Fri, 24 Aug 2018 11:46:22 +0000 (07:46 -0400)]
Merge pull request #2804 from kssoman/bgp_fix

When redistribute options are changed, call bgp_redistribute_unreg()

6 years agoMerge pull request #2896 from dslicenc/zebra_select_vrf
David Lamparter [Fri, 24 Aug 2018 02:19:02 +0000 (04:19 +0200)]
Merge pull request #2896 from dslicenc/zebra_select_vrf

zebra: if multiple connecteds, select loopback or vrf if present