]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
5 years agoMerge pull request #4030 from cfra/feature/fix-alpine-build
Quentin Young [Thu, 28 Mar 2019 16:02:59 +0000 (12:02 -0400)]
Merge pull request #4030 from cfra/feature/fix-alpine-build

Fix alpine build

5 years agoMerge pull request #4015 from opensourcerouting/topotests-fixes
Mark Stapp [Thu, 28 Mar 2019 15:07:31 +0000 (11:07 -0400)]
Merge pull request #4015 from opensourcerouting/topotests-fixes

topotests: fix missing log file and duplicated output folder

5 years agoMerge pull request #3764 from donaldsharp/rib_dest_t
Mark Stapp [Thu, 28 Mar 2019 15:05:29 +0000 (11:05 -0400)]
Merge pull request #3764 from donaldsharp/rib_dest_t

Lot's of Zebra changes

5 years agoMerge pull request #4002 from qlyoung/doc-update-build-docs-fedora
Rafael Zalamena [Wed, 27 Mar 2019 22:31:45 +0000 (19:31 -0300)]
Merge pull request #4002 from qlyoung/doc-update-build-docs-fedora

update build docs - Fedora, Ubuntu

5 years agoisisd, ospf6d, ripngd: Do not allow v6 LL's to be `redist connected` in
Donald Sharp [Fri, 22 Feb 2019 15:20:51 +0000 (10:20 -0500)]
isisd, ospf6d, ripngd: Do not allow v6 LL's to be `redist connected` in

The rib process of handling routes has been unified a bit more
and as a result v6 LL routes are now showing up as a result
of a `redistribute connected`.  Doing anything with these
routes is a policy decision that should be enforced by the
individual routing daemons not by zebra.  As such add a bit
of code to isisd, ripngd and opsf6d to handle them.  The bgp daemon
already handles this situation.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Re-evaluate the nexthop tracking if flags changed
Donald Sharp [Thu, 21 Feb 2019 21:10:56 +0000 (16:10 -0500)]
zebra: Re-evaluate the nexthop tracking if flags changed

Routing protocols are allowed ( and even encouraged ) to modify
the flags that influence the nexthop tracking.  As such when
we modify the tracking of a nexthop to go from, say, connected force
or not we must re-evaluate the nexthop and send the results
up to the interested parties.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: If we copy re than the state has changed
Donald Sharp [Tue, 12 Feb 2019 14:51:08 +0000 (09:51 -0500)]
zebra: If we copy re than the state has changed

After we have evaluated the rnh for an import-check type
and we copy the re then we know that the state has changed
and we should be notifying the end user about it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Modify lsp processing to be invoked as needed
Donald Sharp [Fri, 8 Feb 2019 22:14:30 +0000 (17:14 -0500)]
zebra: Modify lsp processing to be invoked as needed

LSP processing was a zvrf flag based upon a connected route
coming or going.  But this did not allow us to know
that we should do lsp processing other than after the meta-queue
processing was finished.

Eventually we moved meta-queue processing of do_nht_processing
to after the dataplane sent the main pthread some results.
This of course left us with a timing hole where if a connected
route came in and we received a data plane response *before*
the meta queue was processed we would not do the work as necessary.

Move the lsp processing to a flag off of the rib_dest_t. If it
is marked then we need to process lsps.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Add detailed debugging command for NHT tracking
Donald Sharp [Fri, 8 Feb 2019 14:11:47 +0000 (09:11 -0500)]
zebra: Add detailed debugging command for NHT tracking

Add a detailed debugging command for NHT tracking and add
the detailed output to the log about why we make some decisions
that we are.  I tried to model this like the rib processing
detailed debugs that we added a few months back.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Modify NHT to occur when needed.
Donald Sharp [Wed, 6 Feb 2019 15:23:58 +0000 (10:23 -0500)]
zebra: Modify NHT to occur when needed.

Currently nexthop tracking is performed for all nexthops that
are being tracked after a group of contexts are passed back
from the data plane for post install processing.

This is inefficient and leaves us sending nexthop tracking
changes at an accelerated pace, when we think we've changed
a route.  Additionally every route change will cause us
to relook at all nexthops we are tracking irrelevant if
they are possibly related to the route change or not.

Let's modify the code base to track the rnh's off of the rib
table's rn, `rib_dest_t`.  So after we process a node, install
it into the data plane, in rib_process_result we can
look at the `rib_dest_t` associated with the rn and see that
a nexthop depended on this route node.  If so, refigure it.

Additionally we will store rnh's that are not resolved on the
0.0.0.0/0 nexthop tracking list.  As such when a route node
changes we can quickly walk up the rib tree and notice that
it needs to be reprocessed as well.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Add a base node for the zebra vrf tables
Donald Sharp [Wed, 6 Feb 2019 19:44:44 +0000 (14:44 -0500)]
zebra: Add a base node for the zebra vrf tables

Add a default route_node for our routing tables.  This will allow us
to know that we can hang data off the default route for processing.

We will be hanging the nexthop tracking data structures off the rib_dest_t
so that we can know which nexthops we need to handle.  Effectively
nexthops that we are tracking that are unresolved will be stored on the
default route.  When something changes in the rib tree we can
work up the rn->parent pointer checking for nexthops we need to re-evaluate.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Abstract the rib_dest_t creation
Donald Sharp [Wed, 6 Feb 2019 19:21:36 +0000 (14:21 -0500)]
zebra: Abstract the rib_dest_t creation

Abstract the creation of the rib_dest_t so that we can call it
from multiple places.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Set and track the resolved_route for the rnh as it changes.
Donald Sharp [Wed, 6 Feb 2019 16:16:07 +0000 (11:16 -0500)]
zebra: Set and track the resolved_route for the rnh as it changes.

The resolved_route is the prefix we are using in the routing table
to resolve this particular nexthop we are tracking.  Add code
to better track it's change.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Add the afi_t to the rnh
Donald Sharp [Wed, 6 Feb 2019 15:53:48 +0000 (10:53 -0500)]
zebra: Add the afi_t to the rnh

Store the associated afi with the rnh, it will be useful in the future.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Add the type we are working on to the rnh data structure
Donald Sharp [Wed, 6 Feb 2019 15:23:07 +0000 (10:23 -0500)]
zebra: Add the type we are working on to the rnh data structure

Store the type we are working on w/ the rnh data structure.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: The prn value may be NULL do not allow deref
Donald Sharp [Wed, 6 Feb 2019 14:46:15 +0000 (09:46 -0500)]
zebra: The prn value may be NULL do not allow deref

The prn value as passed in may be NULL as such do not
allow it to be derefed (even though it works now).

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Make the import_check look like nexthop_check
Donald Sharp [Wed, 6 Feb 2019 02:27:02 +0000 (21:27 -0500)]
zebra: Make the import_check look like nexthop_check

Make the functions take the same parameters.

Future commits will use this.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Modify code so that dplane is responsible for indicating success/fail of install
Donald Sharp [Fri, 8 Feb 2019 20:01:41 +0000 (15:01 -0500)]
zebra: Modify code so that dplane is responsible for indicating success/fail of install

We have several route types KERNEL and CONNECT that are handled via special
case in the code.  This was causing a lot of work keeping the two different
classes of route types as special(SYSTEM OR NOT).  Put the dplane
in charge of the code that sets the bits for signalling route install/failure.

This greatly simplifies the code calling path and makes all route types
be handled exactly the same.  Additionaly code that we want to run
post data plane install can just work as per normal then, instead
of having to know we need to run it when we have a special type
of route.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com.
5 years agozebra: On route install/update failure correctly indicate in rib
Donald Sharp [Sat, 9 Feb 2019 15:51:33 +0000 (10:51 -0500)]
zebra: On route install/update failure correctly indicate in rib

When we get a route install failure from the kernel, actually
indicate in the rib the status of the routes.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Unset old_re as queued.
Donald Sharp [Sat, 9 Feb 2019 15:45:42 +0000 (10:45 -0500)]
zebra: Unset old_re as queued.

When switching routes from one route type to another actually
unset the old route as enqueued.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: zebra_router.c does not own the data plane shutdown of tables
Donald Sharp [Sun, 10 Feb 2019 15:14:26 +0000 (10:14 -0500)]
zebra: zebra_router.c does not own the data plane shutdown of tables

When shutting down, the individual vrf's own the shutdown of the table
and subsuquent removal from the routes from the kernel.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: When shutting down actually close the socket
Donald Sharp [Sat, 9 Feb 2019 21:38:34 +0000 (16:38 -0500)]
zebra: When shutting down actually close the socket

When shutting down and we have a very large table to shutdown
and after we've intentionally closed all the client connections
close the zebra zserv client socket.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agotopotests: Add a bit more useful debugging to ldp-vpls-topo1
Donald Sharp [Sat, 9 Feb 2019 16:09:32 +0000 (11:09 -0500)]
topotests: Add a bit more useful debugging to ldp-vpls-topo1

When something goes wrong with this test, having these turned
on will help us debug zebra processing a bit better in the
future without having to modify anything else.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #4004 from chiragshah6/evpn_dev2
Sri Mohana Singamsetty [Wed, 27 Mar 2019 15:25:15 +0000 (08:25 -0700)]
Merge pull request #4004 from chiragshah6/evpn_dev2

zebra: evpn mac ip dup detect (DAD) timers cleanup

5 years agodocker/alpine: Update buildscript to keep the docker image around
Christian Franke [Wed, 27 Mar 2019 12:29:04 +0000 (13:29 +0100)]
docker/alpine: Update buildscript to keep the docker image around

Don't delete the Alpine docker image after the build.

Also, extract the packages from the build stage, so that we can
remove them from the final image.

5 years agoMerge pull request #4023 from qlyoung/doc-exclude-bfd-options-manpages
Rafael Zalamena [Wed, 27 Mar 2019 14:23:29 +0000 (11:23 -0300)]
Merge pull request #4023 from qlyoung/doc-exclude-bfd-options-manpages

doc: exclude bfd-options.rst from toctree

5 years agoMerge pull request #4017 from mjstapp/fix_summary_installed_flag
Donald Sharp [Wed, 27 Mar 2019 12:40:12 +0000 (08:40 -0400)]
Merge pull request #4017 from mjstapp/fix_summary_installed_flag

zebra: use the INSTALLED flag consistently in route summary

5 years agoMerge pull request #4019 from sworleys/Fix-Extended-Ack-Err
Mark Stapp [Wed, 27 Mar 2019 12:35:02 +0000 (08:35 -0400)]
Merge pull request #4019 from sworleys/Fix-Extended-Ack-Err

zebra: Fix extended ack error message parsing

5 years agodoc: update build docs for Ubuntu 14.04
Quentin Young [Tue, 26 Mar 2019 22:04:49 +0000 (22:04 +0000)]
doc: update build docs for Ubuntu 14.04

Same as priors

Tested on Ubuntu 14.04

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: update build docs for Ubuntu 16.04
Quentin Young [Tue, 26 Mar 2019 20:50:16 +0000 (20:50 +0000)]
doc: update build docs for Ubuntu 16.04

Same updates as Ubuntu 18.04 doc

Tested on Ubuntu 16.04

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: exclude bfd-options.rst from toctree
Quentin Young [Tue, 26 Mar 2019 20:53:58 +0000 (20:53 +0000)]
doc: exclude bfd-options.rst from toctree

This is an include file, needs to be explicitly excluded to suppress
Sphinx warnings.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodocker/alpine/build.sh: Install packages to docker/alpine
Christian Franke [Tue, 26 Mar 2019 17:30:18 +0000 (18:30 +0100)]
docker/alpine/build.sh: Install packages to docker/alpine

The packages resulting from the Alpine build should be installed
to docker/alpine and not to the general docker directory.

5 years agoalpine/APKBUILD.in: Don't include daemons from srcdir
Christian Franke [Tue, 26 Mar 2019 14:46:51 +0000 (15:46 +0100)]
alpine/APKBUILD.in: Don't include daemons from srcdir

The daemons file will be generated during the build, so there is no
need to copy it over from the first stage.

5 years agoalpine/APKBUILD.in: Add libyang-dev dependency, drop binutils-libs
Christian Franke [Tue, 26 Mar 2019 13:56:59 +0000 (14:56 +0100)]
alpine/APKBUILD.in: Add libyang-dev dependency, drop binutils-libs

We need libyang to build FRR, so add it to the make dependencies.
Alpine will automatically detect it as runtime dependency, so no
need to add it there.

The package binutils-libs doesn't exist anymore, so remove it from
the dependencies.

5 years agodocker/alpine: Unbreak build by using edge/testing
Christian Franke [Tue, 26 Mar 2019 11:56:23 +0000 (12:56 +0100)]
docker/alpine: Unbreak build by using edge/testing

As we need libyang, which is only part of Alpine Linux edge/testing,
update the Dockerfile to use this repository.

Also, update the Dockerfile to adhere more to best common practices.

5 years agoalpine: Move docker-start to Docker build
Christian Franke [Tue, 26 Mar 2019 17:27:24 +0000 (18:27 +0100)]
alpine: Move docker-start to Docker build

The standard Alpine package should not install docker glue,
so remove it from the APKBUILD and install it in the Dockerfile
instead.

5 years agoMerge pull request #3983 from opensourcerouting/pim-tests
Lou Berger [Tue, 26 Mar 2019 16:05:13 +0000 (17:05 +0100)]
Merge pull request #3983 from opensourcerouting/pim-tests

topotests: pim-basic: add topology to test PIM

5 years agoMerge pull request #3998 from pguibert6WIND/workflow_bug_fixes_older
David Lamparter [Tue, 26 Mar 2019 15:45:48 +0000 (16:45 +0100)]
Merge pull request #3998 from pguibert6WIND/workflow_bug_fixes_older

doc: permit maintenance on more than the 2 last maintenance releases

5 years agoMerge pull request #3946 from AnuradhaKaruppiah/evpn-prefix-length
David Lamparter [Tue, 26 Mar 2019 15:38:28 +0000 (16:38 +0100)]
Merge pull request #3946 from AnuradhaKaruppiah/evpn-prefix-length

bgp: fix misc evpn problems caused by using incorrect prefixlen

5 years agoMerge pull request #4008 from donaldsharp/zclient_log_improvement
David Lamparter [Tue, 26 Mar 2019 15:36:55 +0000 (16:36 +0100)]
Merge pull request #4008 from donaldsharp/zclient_log_improvement

Zclient log improvement

5 years agoMerge pull request #4013 from manuhalo/zebra_c++_guards
David Lamparter [Tue, 26 Mar 2019 15:35:52 +0000 (16:35 +0100)]
Merge pull request #4013 from manuhalo/zebra_c++_guards

zebra: add extern C guards to headers

5 years agoMerge pull request #4020 from cfra/feature/improve-init-script
Quentin Young [Tue, 26 Mar 2019 15:23:43 +0000 (11:23 -0400)]
Merge pull request #4020 from cfra/feature/improve-init-script

tools/frr.in: Only attempt to load daemons.conf if present

5 years agoMerge pull request #4021 from donaldsharp/bgp_warnings
Lou Berger [Tue, 26 Mar 2019 15:18:18 +0000 (16:18 +0100)]
Merge pull request #4021 from donaldsharp/bgp_warnings

bgpd: Split up warn message to allow finer grained understanding

5 years agobgpd: Split up warn message to allow finer grained understanding
Donald Sharp [Tue, 26 Mar 2019 13:11:28 +0000 (09:11 -0400)]
bgpd: Split up warn message to allow finer grained understanding

We have the same warn message in 3 spots, which makes it extremely
hard to figure out which of the 3 has gone terribly wrong.
Add a bit of code to disambiguate the 3 situations.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agotools/frr.in: Only attempt to load daemons.conf if present
Christian Franke [Tue, 26 Mar 2019 09:28:09 +0000 (10:28 +0100)]
tools/frr.in: Only attempt to load daemons.conf if present

Apparently, the default changed to use `/etc/frr/daemons` instead of
`/etc/frr/daemons.conf`. Therefore, we should ignore absence of the
latter file, because its absence is not an actuall error but will
cause a confusing error message like this:

    /etc/init.d/frr: line 507: /etc/frr/daemons.conf: No such file or directory

5 years agozebra: Fix extended ack error message parsing
Stephen Worley [Tue, 26 Mar 2019 05:03:06 +0000 (01:03 -0400)]
zebra: Fix extended ack error message parsing

Fix the macros for reading NLA attribute info
from an extended error ack. We were processing the data
using route attributes (rtattr) which is identical in size
to nlattr but probably should not be used.

Further, we were incorrectly calculating the length of the
inner netlink message that cause the error. We have to read
passed that in order to access all the nlattr's.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
5 years agodoc: update build docs for Ubuntu 18.04
Quentin Young [Mon, 25 Mar 2019 20:11:47 +0000 (20:11 +0000)]
doc: update build docs for Ubuntu 18.04

* Update build package list
* Update ./configure options
* Fix some RST syntax errors
* Use monolithic config examples
* Use compile include snippet
* Reorganize a bit

Tested on Ubuntu 18.04

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: update building.rst for new fedora doc
Quentin Young [Mon, 25 Mar 2019 20:22:53 +0000 (20:22 +0000)]
doc: update building.rst for new fedora doc

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: reorganize fedora doc a bit
Quentin Young [Mon, 25 Mar 2019 20:21:54 +0000 (20:21 +0000)]
doc: reorganize fedora doc a bit

* Use compile include snippet
* Move daemons enable section to end
* Fix a couple syntax errors

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: pull out compile instructions into snippet
Quentin Young [Mon, 25 Mar 2019 20:21:10 +0000 (20:21 +0000)]
doc: pull out compile instructions into snippet

We're going to use this same snippet across every build doc so let's
just pull it into its own include file now.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agotopotests/lib: fix router specific log output
Rafael Zalamena [Mon, 25 Mar 2019 17:47:49 +0000 (14:47 -0300)]
topotests/lib: fix router specific log output

Change the router log output to the previous folder so it doesn't get
erased when starting the old API (unbreaks command/output logging on
Topogen).

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 years agotopotests/lib: fallback topology logdir if none was configured
Rafael Zalamena [Mon, 25 Mar 2019 15:08:26 +0000 (12:08 -0300)]
topotests/lib: fallback topology logdir if none was configured

`param.get` always evaluates the second argument and it was causing
two log directories being created for topologies using Topogen.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 years agozebra: use the INSTALLED flag consistently in route summary
Mark Stapp [Mon, 25 Mar 2019 17:35:02 +0000 (13:35 -0400)]
zebra: use the INSTALLED flag consistently in route summary

The 'sho ip route summary' and 'sho ip route summary <prefix>'
paths used different definitions of a 'fib' route. Use
the route-entry 'INSTALLED' flag in both places.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #4010 from sarav511/3988
Quentin Young [Mon, 25 Mar 2019 17:31:23 +0000 (13:31 -0400)]
Merge pull request #4010 from sarav511/3988

ospfd: Remaining packet calculation while fragmenting lsu, ls-ack and…

5 years agodoc: mv Fedora 24 docs to cover 24+
Quentin Young [Fri, 22 Mar 2019 19:03:57 +0000 (19:03 +0000)]
doc: mv Fedora 24 docs to cover 24+

Tested these on Fedora 24 and 28, so they should be true for all
versions in-between as well as Fedora 29 and all upcoming versions.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: update Fedora 24 build doc
Quentin Young [Fri, 22 Mar 2019 18:33:25 +0000 (18:33 +0000)]
doc: update Fedora 24 build doc

* Cross reference RPM build docs
* Add perl and patch to build deps
* Add libyang-pluginsdir to ./configure options
* Change instructions to unified config

Verified on Fedora 28.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: update Fedora 24 build doc style
Quentin Young [Fri, 22 Mar 2019 16:19:22 +0000 (16:19 +0000)]
doc: update Fedora 24 build doc style

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoMerge pull request #4011 from pguibert6WIND/duplicate_json_metric
Donald Sharp [Mon, 25 Mar 2019 15:27:55 +0000 (11:27 -0400)]
Merge pull request #4011 from pguibert6WIND/duplicate_json_metric

zebra: remove duplicated json information

5 years agoadd cplusplus guards to all zebra headers
Emanuele Di Pascale [Mon, 25 Mar 2019 14:11:55 +0000 (15:11 +0100)]
add cplusplus guards to all zebra headers

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agozebra: remove duplicated json information
Philippe Guibert [Mon, 25 Mar 2019 14:01:56 +0000 (15:01 +0100)]
zebra: remove duplicated json information

the metric information is already present for connected routes. so
remove that line.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agoospfd: Remaining packet calculation while fragmenting lsu, ls-ack and ls-req
Saravanan K [Mon, 25 Mar 2019 13:23:17 +0000 (06:23 -0700)]
ospfd: Remaining packet calculation while fragmenting lsu, ls-ack and ls-req

While fragmenting ospf ls packets, before appending the link state info,
wrong value is checked to see if current packet can fit in another ls info.
Because of this, when a lower mtu is configured, it couldn't fit in even 1
ls ack, which tries to send all the available ls ack in the list in loop.
This keeps allocating memory to send the packet and ends up putting the
packet buffer without ls-ack into deferred send que(ospf_ls_ack_send_delayed).
This infinite loop causes infinite memory being allocated in a loop causing
system to be unstable. This commit takes care of calculating the right value
to compare for checking oif this buffer can fit in more.

Signed-off-by: Saravanan K <saravanank@vmware.com>
5 years agolib: Improve debugs in zclient.c
Donald Sharp [Mon, 25 Mar 2019 13:09:35 +0000 (09:09 -0400)]
lib: Improve debugs in zclient.c

Fixup a couple of places to improve debugging of what is
going on in zclient.c.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agolib: Fixup missing log entries
Donald Sharp [Mon, 25 Mar 2019 13:04:28 +0000 (09:04 -0400)]
lib: Fixup missing log entries

Add a few missing log entries to the macro to allow us to print
out the zapi message type, since they were missing.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #3772 from pguibert6WIND/vrf_backend_unknown
Donald Sharp [Mon, 25 Mar 2019 12:13:16 +0000 (08:13 -0400)]
Merge pull request #3772 from pguibert6WIND/vrf_backend_unknown

Vrf backend unknown

5 years agoMerge pull request #3989 from opensourcerouting/redhat-new-init
Donald Sharp [Mon, 25 Mar 2019 11:45:04 +0000 (07:45 -0400)]
Merge pull request #3989 from opensourcerouting/redhat-new-init

redhat: switch to new init script

5 years agotools/frrcommon.sh: ignore 'declare' failures
David Lamparter [Sun, 24 Mar 2019 14:52:02 +0000 (15:52 +0100)]
tools/frrcommon.sh: ignore 'declare' failures

The "declare -p watchfrr_options" call is just to support backwards
compatibility.  If it fails, silently ignore that.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agoMerge branch 'frr/pull/4005'
David Lamparter [Sun, 24 Mar 2019 14:28:23 +0000 (15:28 +0100)]
Merge branch 'frr/pull/4005'

5 years agobgpd: add command to lookup prefixes in the rpki table
Marcel Röthke [Sat, 23 Mar 2019 10:57:09 +0000 (11:57 +0100)]
bgpd: add command to lookup prefixes in the rpki table

Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
5 years agoMerge pull request #4001 from qlyoung/doc-update-libyang-building
David Lamparter [Sat, 23 Mar 2019 13:24:27 +0000 (14:24 +0100)]
Merge pull request #4001 from qlyoung/doc-update-libyang-building

doc: update instructions for building libyang

5 years agoMerge pull request #3996 from qlyoung/doc-move-rpm-to-devdocs
David Lamparter [Sat, 23 Mar 2019 13:22:49 +0000 (14:22 +0100)]
Merge pull request #3996 from qlyoung/doc-move-rpm-to-devdocs

move rpm build doc to devdocs

5 years agoMerge pull request #3985 from rubenk/doc-fix-a-few-typos
David Lamparter [Sat, 23 Mar 2019 12:49:20 +0000 (13:49 +0100)]
Merge pull request #3985 from rubenk/doc-fix-a-few-typos

doc: fix a couple of typos

5 years agozebra: add mac ip dad timers cleanup
Chirag Shah [Sat, 16 Mar 2019 02:09:25 +0000 (19:09 -0700)]
zebra: add mac ip dad timers cleanup

When MAC or IP deleted ensure to cleanup DAD timers.

Signed-off-by: Chirag Shah <chirag@cumulusnetwork.com>
5 years agodoc: update instructions for building libyang
Quentin Young [Fri, 22 Mar 2019 18:14:17 +0000 (18:14 +0000)]
doc: update instructions for building libyang

* Upstream libyang now works with FRR; use it
* Install libyang to system library directories to satisfy pkg-config
* Remove warnings about ABI version
* Remove outdated binary package links
* Cleanup formatting

Validated that these instructions work on:
- Fedora 24
- Fedora 28.
- Ubuntu 18.04

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoMerge pull request #3978 from chiragshah6/evpn_dev2
Sri Mohana Singamsetty [Fri, 22 Mar 2019 16:49:00 +0000 (09:49 -0700)]
Merge pull request #3978 from chiragshah6/evpn_dev2

bgpd: l3vni add-del handle non-defualt rd

5 years agodoc: move rpm build doc to dev docs
Quentin Young [Thu, 21 Mar 2019 21:08:52 +0000 (21:08 +0000)]
doc: move rpm build doc to dev docs

------------{ <(O.O)> }------------

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoMerge pull request #3927 from donaldsharp/rnh_cleanup
David Lamparter [Fri, 22 Mar 2019 15:56:12 +0000 (16:56 +0100)]
Merge pull request #3927 from donaldsharp/rnh_cleanup

zebra: Cleanup rnh table information before deleting underlying tables

5 years agodoc: permit maintenance on more than the 2 last maintenance releases
Philippe Guibert [Fri, 22 Mar 2019 14:56:11 +0000 (15:56 +0100)]
doc: permit maintenance on more than the 2 last maintenance releases

it is possible to do some ponctual backporting of bug fixes, on older
than the 2 last maintenance releases.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agoMerge pull request #3935 from FRRouting/doc-add-fabricd-seealso
Mark Stapp [Fri, 22 Mar 2019 11:34:44 +0000 (07:34 -0400)]
Merge pull request #3935 from FRRouting/doc-add-fabricd-seealso

doc: include fabricd in see-also programs

5 years agoMerge pull request #3839 from srimohans/support_bundle
Donald Sharp [Fri, 22 Mar 2019 08:03:45 +0000 (04:03 -0400)]
Merge pull request #3839 from srimohans/support_bundle

FRR: Python script to generate support bundle for FRR

5 years agoMerge pull request #3776 from opensourcerouting/pbrd-interface-nexthops
Donald Sharp [Fri, 22 Mar 2019 07:45:48 +0000 (03:45 -0400)]
Merge pull request #3776 from opensourcerouting/pbrd-interface-nexthops

pbrd: add support for interface nexthops

5 years agoMerge pull request #3972 from mjstapp/fix_privs_race
Donald Sharp [Fri, 22 Mar 2019 06:32:17 +0000 (02:32 -0400)]
Merge pull request #3972 from mjstapp/fix_privs_race

libs: fix race in privs changes

5 years agoMerge pull request #3980 from rubensfig/doc_bgp_rr
Donald Sharp [Fri, 22 Mar 2019 06:23:52 +0000 (02:23 -0400)]
Merge pull request #3980 from rubensfig/doc_bgp_rr

doc: route reflector documentation

5 years agodoc: fix underline level
Quentin Young [Thu, 21 Mar 2019 18:50:25 +0000 (18:50 +0000)]
doc: fix underline level

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoMerge pull request #3992 from rubenk/tools-fix-typos
Quentin Young [Thu, 21 Mar 2019 17:11:55 +0000 (13:11 -0400)]
Merge pull request #3992 from rubenk/tools-fix-typos

tools: fix two typos in daemons file

5 years agotools: fix two typos in daemons file
Ruben Kerkhof [Thu, 21 Mar 2019 13:50:53 +0000 (14:50 +0100)]
tools: fix two typos in daemons file

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
5 years agoredhat: switch to new init script
David Lamparter [Mon, 18 Feb 2019 23:44:01 +0000 (00:44 +0100)]
redhat: switch to new init script

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>
5 years agodoc: route reflector documentation
Rubens Figueiredo [Wed, 20 Mar 2019 13:24:25 +0000 (14:24 +0100)]
doc: route reflector documentation

Signed-off-by: Rubens Figueiredo <rubens@bisdn.de>
5 years agoMerge pull request #3967 from chiragshah6/evpn_dev
Sri Mohana Singamsetty [Thu, 21 Mar 2019 03:42:48 +0000 (20:42 -0700)]
Merge pull request #3967 from chiragshah6/evpn_dev

bgpd: evpn l3vni add router mac self check skip route installation

5 years agoMerge pull request #3863 from patrasar/RP_addition_deletion_changes
Donald Sharp [Wed, 20 Mar 2019 22:31:01 +0000 (18:31 -0400)]
Merge pull request #3863 from patrasar/RP_addition_deletion_changes

Rp addition deletion changes

5 years agoRevert "Merge pull request #3982 from pacovn/Coverity_1479148_copy_paste"
Quentin Young [Wed, 20 Mar 2019 21:25:04 +0000 (21:25 +0000)]
Revert "Merge pull request #3982 from pacovn/Coverity_1479148_copy_paste"

This reverts commit 3a3704fe365a25b9644a938f674effb3e6084c56, reversing
changes made to 5a3c6e736dca3639a1b49cdf305b909736f721de.

5 years agoMerge pull request #3982 from pacovn/Coverity_1479148_copy_paste
Quentin Young [Wed, 20 Mar 2019 21:09:49 +0000 (17:09 -0400)]
Merge pull request #3982 from pacovn/Coverity_1479148_copy_paste

zebra: copy-paste error (Coverity 1479148)

5 years agodoc: address review comment
Ruben Kerkhof [Wed, 20 Mar 2019 20:20:31 +0000 (21:20 +0100)]
doc: address review comment

'cannot' feels more natural

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
5 years agodoc: fix a couple of typos
Ruben Kerkhof [Wed, 20 Mar 2019 19:08:33 +0000 (20:08 +0100)]
doc: fix a couple of typos

Found with https://github.com/codespell-project/codespell

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
5 years agotopotests: pim-basic: fix some rough edges
Rafael Zalamena [Wed, 20 Mar 2019 17:03:57 +0000 (14:03 -0300)]
topotests: pim-basic: fix some rough edges

Move daemon configuration to appropriated files and use `json_cmp` to
assert the values we expect.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 years agoAdd code to test some very basic pim functionality
Donald Sharp [Tue, 18 Sep 2018 13:43:46 +0000 (09:43 -0400)]
Add code to test some very basic pim functionality

Add code to send a S,G stream and make sure the RP see's it.
Add code to send a *,G report and make sure the RP see's it.

This is just some *very* basic functionality testing to
ensure that we don't break anything basic.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #3968 from donaldsharp/bfd_valuable_valgrind
Rafael Zalamena [Wed, 20 Mar 2019 16:01:43 +0000 (13:01 -0300)]
Merge pull request #3968 from donaldsharp/bfd_valuable_valgrind

bfdd: Prevent uninited use of data

5 years agozebra: copy-paste error (Coverity 1479148)
F. Aragon [Wed, 20 Mar 2019 15:45:32 +0000 (16:45 +0100)]
zebra: copy-paste error (Coverity 1479148)

Signed-off-by: F. Aragon <paco@voltanet.io>
5 years agobfdd: Prevent uninited use of data
Donald Sharp [Sun, 17 Mar 2019 01:25:59 +0000 (21:25 -0400)]
bfdd: Prevent uninited use of data

Running valgrind w/ bfdd and shut/no shuting interfaces
can result in this valgrind issue:

==20279== Conditional jump or move depends on uninitialised value(s)
==20279==    at 0x115848: bfdd_sessions_enable_address (ptm_adapter.c:644)
==20279==    by 0x115848: bfdd_interface_address_update (ptm_adapter.c:674)
==20279==    by 0x48D8CAB: zclient_read (zclient.c:2698)
==20279==    by 0x48CCEE3: thread_call (thread.c:1603)
==20279==    by 0x48A84EF: frr_run (libfrr.c:1011)
==20279==    by 0x10DAC3: main (bfdd.c:236)
==20279==

When creating the bso data structure set the bso_isaddress to false
as a default value.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #3977 from opensourcerouting/bfd-small-fixes
Quentin Young [Wed, 20 Mar 2019 05:01:08 +0000 (01:01 -0400)]
Merge pull request #3977 from opensourcerouting/bfd-small-fixes

bfdd: two small fixes

5 years agobgpd: l3vni add-del handle non-defualt rd
Chirag Shah [Wed, 20 Mar 2019 00:06:10 +0000 (17:06 -0700)]
bgpd: l3vni add-del handle non-defualt rd

During L3VNI add, non-default RD value is not replayed
correctly. Instead of picking non-default value it picks
up auto RD value which is derived based on router-id.

Indentation issue: Remove additional space from
L3VNI running config output.

Ticket:CM-24320
Reviewed By:CCR-8437
Testing Done:

Bring up evpn configuration with L3vni up with non-default
RD value, perform peerlink flap, l3vni flap which removes
all VNIS and readds with RD and RT values.
The configured RD and RTs are replayed.

Post L3VNI flap
router bgp 5546 vrf vrf2
 !
 address-family l2vpn evpn
  rd 45.0.66.2:6
  route-target import 20001:1
  route-target export 20001:1
 exit-address-family

TORC11# show bgp l2vpn evpn vni 4002
VNI: 4002 (known to the kernel)
  Type: L3
  Tenant VRF: vrf2
  RD: 45.0.66.2:6
  Originator IP: 36.0.0.11
  Advertise-gw-macip : n/a
  Import Route Target:
    20001:1
  Export Route Target:
    20001:1

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>