]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
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 agoMerge pull request #2875 from opensourcerouting/fabricd
Donald Sharp [Sat, 8 Sep 2018 17:48:48 +0000 (13:48 -0400)]
Merge pull request #2875 from opensourcerouting/fabricd

OpenFabric support

6 years agoMerge pull request #2991 from donaldsharp/mac_compiling
David Lamparter [Sat, 8 Sep 2018 17:45:18 +0000 (19:45 +0200)]
Merge pull request #2991 from donaldsharp/mac_compiling

Mac compiling cleanups

6 years agoisisd: silence SA warnings
David Lamparter [Sat, 8 Sep 2018 16:25:45 +0000 (18:25 +0200)]
isisd: silence SA warnings

As suggested by Renato Westphal.

Signed-off-by: David Lamparter <equinox@diac24.net>
6 years agovtysh: Actually make the new_completion function match
Donald Sharp [Fri, 7 Sep 2018 18:30:24 +0000 (14:30 -0400)]
vtysh: Actually make the new_completion function match

The new_completion function was not declared the same
way the rl_attempted_completion_function pointer was.
The only difference was a 'const char *' -vs- 'char *'
So convert it over.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agovtysh: Add code to isolate append_history
Donald Sharp [Fri, 7 Sep 2018 17:50:57 +0000 (13:50 -0400)]
vtysh: Add code to isolate append_history

The append_history function in lib readline appears to
not be universally available across all of the esoteric
platforms we may want to compile on.  As such
provide a way to gracefully do nothing.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Detect if pthread_condattr_setclock is available
Donald Sharp [Fri, 7 Sep 2018 17:11:02 +0000 (13:11 -0400)]
lib: Detect if pthread_condattr_setclock is available

Auto-detect if pthread_condattr_setclock is available and if
it is not allow the code to compile around the issue.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Cleanup include of link.h
Donald Sharp [Fri, 7 Sep 2018 16:55:03 +0000 (12:55 -0400)]
lib: Cleanup include of link.h

We need link.h for the HAVE_DLINFO_LINKMAP, so include
it if we need it for that code path.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #2989 from donaldsharp/static_debug
David Lamparter [Sat, 8 Sep 2018 15:38:48 +0000 (17:38 +0200)]
Merge pull request #2989 from donaldsharp/static_debug

Static debug

6 years agoMerge pull request #2988 from donaldsharp/more_debugs
David Lamparter [Sat, 8 Sep 2018 15:36:18 +0000 (17:36 +0200)]
Merge pull request #2988 from donaldsharp/more_debugs

zebra: Modify nexthop checks to report inactive a bit more

6 years agoMerge pull request #2981 from donaldsharp/v6_vxlan_bug
David Lamparter [Sat, 8 Sep 2018 15:35:20 +0000 (17:35 +0200)]
Merge pull request #2981 from donaldsharp/v6_vxlan_bug

zebra: Fix RB-Tree storage comparison function for v6

6 years agoMerge pull request #2982 from donaldsharp/smux_h
David Lamparter [Sat, 8 Sep 2018 15:13:45 +0000 (17:13 +0200)]
Merge pull request #2982 from donaldsharp/smux_h

lib: Add missing smux.h to `make distrib` results

6 years agoMerge pull request #2949 from donaldsharp/removal
Martin Winter [Fri, 7 Sep 2018 17:04:51 +0000 (19:04 +0200)]
Merge pull request #2949 from donaldsharp/removal

ospf6d: Remove deprecated code after 1 year

6 years agoMerge pull request #2987 from pacovn/Coverity_1473088_ovf_array_index_write
Quentin Young [Fri, 7 Sep 2018 15:40:31 +0000 (11:40 -0400)]
Merge pull request #2987 from pacovn/Coverity_1473088_ovf_array_index_write

lib: array index check (Coverity 1473088)

6 years agosharpd: Fix missing 'show debug' command
Donald Sharp [Fri, 7 Sep 2018 11:05:35 +0000 (07:05 -0400)]
sharpd: Fix missing 'show debug' command

The sharp daemon was not properly handling 'show debug'
commands.  Fix.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agostaticd: Fix 'show debug static" command
Donald Sharp [Fri, 7 Sep 2018 11:01:19 +0000 (07:01 -0400)]
staticd: Fix 'show debug static" command

'show debugging' is returning a Command incomplete
error message as that it is being sent to staticd
and staticd has no knowledge of it, fix this.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: array index check (Coverity 1473088)
F. Aragon [Fri, 7 Sep 2018 09:20:45 +0000 (11:20 +0200)]
lib: array index check (Coverity 1473088)

Signed-off-by: F. Aragon <paco@voltanet.io>
6 years agozebra: Modify nexthop checks to report inactive a bit more
Donald Sharp [Thu, 6 Sep 2018 22:26:04 +0000 (18:26 -0400)]
zebra: Modify nexthop checks to report inactive a bit more

Debugging inactive nexthops in zebra can be quite difficult
and non-obvious what has gone wrong.  Add detailed rib
debugs for the cases where we decide that a nexthop is
inactive so that we can more easily debug a reason
for the failure.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #2984 from donaldsharp/ak503_eigrp
Renato Westphal [Thu, 6 Sep 2018 16:51:40 +0000 (13:51 -0300)]
Merge pull request #2984 from donaldsharp/ak503_eigrp

eigrp: opnional metric in 'no redistribute'

6 years agoMerge pull request #2974 from donaldsharp/v4_and_v6
Renato Westphal [Thu, 6 Sep 2018 15:33:26 +0000 (12:33 -0300)]
Merge pull request #2974 from donaldsharp/v4_and_v6

V4 and v6

6 years agoeigrp: opnional metric in 'no redistribute'
dturlupov [Wed, 5 Sep 2018 09:23:50 +0000 (12:23 +0300)]
eigrp: opnional metric in 'no redistribute'

Signed-off-by: Dmitrii Turlupov <dturlupov@factor-rs.ru>
6 years agodoc: Update sharp documentation
Donald Sharp [Wed, 5 Sep 2018 01:02:33 +0000 (21:02 -0400)]
doc: Update sharp documentation

Update the sharp documentation to note v6 nexthops are able
to be installed now.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agosharpd: Modify route install to allow v6 nexthops
Donald Sharp [Wed, 5 Sep 2018 01:00:04 +0000 (21:00 -0400)]
sharpd: Modify route install to allow v6 nexthops

Allow the user to create a v4 route with a v6 nexthop.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Fix _route_entry_dump to handle nexthop family as appropriate
Donald Sharp [Wed, 5 Sep 2018 00:56:42 +0000 (20:56 -0400)]
zebra: Fix _route_entry_dump to handle nexthop family as appropriate

The _route_entry_dump function was not handling the nexthop as passed
in from an upper level protocol appropriate and as such not displaying
the v4/v6 nexthop right in the case where we have both going.

Additionally dump the nexthop vrf as well.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
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 agoMerge pull request #2959 from opensourcerouting/bfd-cleanup
Donald Sharp [Wed, 5 Sep 2018 23:54:35 +0000 (19:54 -0400)]
Merge pull request #2959 from opensourcerouting/bfd-cleanup

bfdd: code clean up

6 years agoMerge pull request #2873 from vivek-cumulus/evpn-extended-mobility
Russ White [Wed, 5 Sep 2018 22:09:31 +0000 (18:09 -0400)]
Merge pull request #2873 from vivek-cumulus/evpn-extended-mobility

EVPN extended mobility support

6 years agozebra: Fix RB-Tree storage comparison function for v6
Donald Sharp [Wed, 5 Sep 2018 21:04:35 +0000 (17:04 -0400)]
zebra: Fix RB-Tree storage comparison function for v6

The RB-Tree used to store rmac information was not properly
handling the v6 address family.  Modify the code to allow
this handling.

Cleans up this error message:

zebra[2231]: host_rb_entry_compare: Unexpected family type: 10

That is being seen, This fixes some connectivity issues being seen.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agobfdd: fix crash when receiving invalid echo packet
Rafael Zalamena [Wed, 5 Sep 2018 15:29:14 +0000 (12:29 -0300)]
bfdd: fix crash when receiving invalid echo packet

The log function would improperly format a string using an integer
causing a crash. This situation was found when switching echo mode with
a active connection.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
6 years agobfdd: use THREAD_OFF() instead of thread_cancel()
Rafael Zalamena [Wed, 5 Sep 2018 15:27:52 +0000 (12:27 -0300)]
bfdd: use THREAD_OFF() instead of thread_cancel()

Use a standardized function to cancel threads instead of hand rolling
our own.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
6 years agoMerge pull request #2970 from dslicenc/more-bool-use-json
Russ White [Wed, 5 Sep 2018 14:38:11 +0000 (10:38 -0400)]
Merge pull request #2970 from dslicenc/more-bool-use-json

bgpd, ospfd, pimd, zebra: Convert more use_json locations to bool

6 years agodoc: add documentation for fabricd
Christian Franke [Mon, 20 Aug 2018 20:29:29 +0000 (22:29 +0200)]
doc: add documentation for fabricd

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisisd: fix warnings by removing union isis_N and going to void * instead
Christian Franke [Thu, 9 Aug 2018 18:37:30 +0000 (20:37 +0200)]
isisd: fix warnings by removing union isis_N and going to void * instead

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: add support for completely unnumbered operation
Christian Franke [Thu, 7 Jun 2018 10:58:42 +0000 (12:58 +0200)]
fabricd: add support for completely unnumbered operation

With this commit, fabricd can run without any IPv4 addresses configured
except on loopback. There are two changes to achieve this:

a) If a circuit has no IPv4 address configured, fabricd will resort to
advertise the routers loopback IP in the OpenFabric hellos.

b) All the routes from OpenFabric are sent with ZEBRA_FLAG_ONLINK set,
so that zebra will install them into the fib without checking whether
the nexthop is reachable

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agozebra: add a ZEBRA_FLAG_ONLINK so that routes bypass the is-unnumbered check
Christian Franke [Thu, 7 Jun 2018 10:58:21 +0000 (12:58 +0200)]
zebra: add a ZEBRA_FLAG_ONLINK so that routes bypass the is-unnumbered check

For OpenFabric operation, we need to be able to install routes via
interfaces without any IPv4 addresses configured. Introduce a flag
ZEBRA_FLAG_ONLINK which upper protocols can set on a route they send
towards zebra, to force the nexthops to be considered onlink.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: trigger CSNP after flooding scope LSP has been received
Christian Franke [Thu, 7 Jun 2018 09:08:55 +0000 (11:08 +0200)]
fabricd: trigger CSNP after flooding scope LSP has been received

Have fabricd send out a CSNP whenever a circuit scoped LSP is received,
and log a warning if the CSNP showed resynchronization was necessary.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: Remove processing for unneded PDUs and TLVs
Christian Franke [Tue, 5 Jun 2018 18:50:59 +0000 (20:50 +0200)]
fabricd: Remove processing for unneded PDUs and TLVs

The OpenFabric draft prescribes that any IS-IS PDUs not needed for
OpenFabric operation MUST be ignored. So this commit makes fabricd
ignore any LAN IIHs and any L1 LSPs.

Also the draft specifies that any reachabilities given as narrow-metric
TLVs SHALL be ignored, so adhere to that too.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisisd: add purge originator identification support
Christian Franke [Thu, 31 May 2018 13:14:26 +0000 (15:14 +0200)]
isisd: add purge originator identification support

Implement RFC 6232, optionally allowing to flood isisd's NET and
hostname in purges it originates.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisisd: add TLV 13 Purge Originator Identification
Christian Franke [Mon, 28 May 2018 13:36:15 +0000 (15:36 +0200)]
isisd: add TLV 13 Purge Originator Identification

Extend our parser to support the Purge Originator Identifaction
TLV as per RFC 6232.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agotests/isisd: remove auth when fuzzing
Christian Franke [Fri, 25 May 2018 12:31:59 +0000 (14:31 +0200)]
tests/isisd: remove auth when fuzzing

Our "deserialize, reserialize, check-equality" test fails when the
fuzzer produces PDUs with incorrect cryptographic checksums.

While the most realistic solution would be to validate the
cryptographic checksums in the test program, that seems very silly,
given that we don't want to fuzz our cryptographic auth.

Given that, removing auth during fuzzing seems the next best solution.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisisd: add support for Prefix-SID subtlv
Christian Franke [Fri, 25 May 2018 11:26:27 +0000 (13:26 +0200)]
isisd: add support for Prefix-SID subtlv

Extend isisd's TLV parser to support the Prefix-SID subtlv as per
draft-ietf-isis-segment-routing-extensions-19

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: add flooding algorithm debugging
Christian Franke [Wed, 25 Jul 2018 09:01:59 +0000 (11:01 +0200)]
fabricd: add flooding algorithm debugging

Add a command `debug openfabric flooding` to allow verification of
correct operation of the OpenFabric flooding optimization algorithm.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: implement flooding optimization
Christian Franke [Thu, 10 May 2018 15:40:04 +0000 (17:40 +0200)]
fabricd: implement flooding optimization

Regular IS-IS will flood any LSP updates out to all circuits except the
one where it was received on. This is done in `lsp_flood`.

Change `lsp_flood` for fabricd to use the optimized flooding algorithm
instead.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: build a list of neighbors and neighbors neighbors
Christian Franke [Thu, 10 May 2018 11:10:59 +0000 (13:10 +0200)]
fabricd: build a list of neighbors and neighbors neighbors

OpenFabric uses a list of neighbors and neighbors neighbors to calculate
a set of designated reflooders.

While the draft prescribes that these lists should be built whenever an
LSP needs to be flooded, this implementation opted to build them only
when we ran an spf, given that they will only change when the topology
changes.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: add field with first and second nexthop to SPF paths
Christian Franke [Thu, 10 May 2018 18:02:04 +0000 (20:02 +0200)]
fabricd: add field with first and second nexthop to SPF paths

OpenFabric requires knowledge of the first two hops on each path
calculated by spf to implement its flooding optimization. Extend the
hopcount-spf to build such a datastructure.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: support transmission/reception of circuit-scoped LSPs
Christian Franke [Thu, 9 Aug 2018 20:07:20 +0000 (22:07 +0200)]
fabricd: support transmission/reception of circuit-scoped LSPs

OpenFabric makes use of flooding scope LSPs to reduce the amount of
reflooding caused by the update process. Implement transmission and
reception of such PDUs.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: reimplement LSP transmission logic
Christian Franke [Thu, 10 May 2018 15:37:05 +0000 (17:37 +0200)]
fabricd: reimplement LSP transmission logic

Before this commit, isisd/fabricd maintained a bitfield for each LSP
to track the SRM bit for each circuit, which specifies whether an LSP
needs to be sent on that circuit. Every second, it would scan over all
LSPs in `lsp_tick` and queue them up for transmission accordingly.

This design has two drawbacks: a) it scales poorly b) it adds
unacceptable latency to the update process: each router takes a random
amount of time between 0 and 1 seconds to forward an update. In a
network with a diamter of 10, it might already take 10 seconds for an
update to traverse the network.

To mitigate this, a new design was chosen. Instead of tracking SRM in a
bitfield, have one tx_queue per circuit and declare that an LSP is in
that queue if and only if it would have SRM set for that circuit.

This way, we can track SRM similarly as we did before, however, on
insertion into the LSP queue, we can add a timer for (re)transmission,
alleviating the need for a periodic scan with LSP tick and reducing the
latency for forwarding of updates.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: implement asymmetric metric for tier 0 as per Section 6.2
Christian Franke [Wed, 23 May 2018 13:37:45 +0000 (15:37 +0200)]
fabricd: implement asymmetric metric for tier 0 as per Section 6.2

To avoid passing of traffic via leaf nodes in the fabric, OpenFabric
specifies that all links towards tier 0 nodes should be advertised with
a very high metric.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: implement fabric locality detection algorithm
Christian Franke [Thu, 10 May 2018 15:52:18 +0000 (17:52 +0200)]
fabricd: implement fabric locality detection algorithm

If an OpenFabric router doesn't have its tier number configured
manually, try to execute the fabric locality calculation algorithm
whenever we have run spf.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: allow to configure tier-level advertisement
Christian Franke [Thu, 10 May 2018 17:05:40 +0000 (19:05 +0200)]
fabricd: allow to configure tier-level advertisement

While OpenFabric calculates most tier numbers automatically by the
fabric locality calculation algorithm, that algorithm requires two
systems to be manually configured as tier 0, so it has reference points.

Also, completely manual configuration is possible.

To support this, introduce appropriate CLI commands and flood the
configured information.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: Add support for TLV 150 (Spine-Leaf-Extension)
Christian Franke [Fri, 6 Apr 2018 11:49:38 +0000 (13:49 +0200)]
fabricd: Add support for TLV 150 (Spine-Leaf-Extension)

To flood the tier calculated by the fabric locality detection,
OpenFabric makes use of TLV 150, defined in
draft-shen-isis-spine-leaf-ext-06, so add support for that TLV.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisisd: move spf datastructures to a header, to share with fabricd
Christian Franke [Thu, 10 May 2018 16:52:17 +0000 (18:52 +0200)]
isisd: move spf datastructures to a header, to share with fabricd

By moving the spf datastructures to a header, fabricd can access the
results of the spf run for flooding optimization or fabric locality
calculation.

While this was deemed a sensible choice in this case, when compared with
the option of adding a lot of OpenFabric specific code to isis_spf.c,
the datastructures should still not be accessed randomly all over the
code base. To make this more clear, the new header was called
isis_spf_private.h (Think of a friend class)

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: run a hop-by-hop spf
Christian Franke [Mon, 2 Apr 2018 16:39:46 +0000 (18:39 +0200)]
fabricd: run a hop-by-hop spf

OpenFabric uses an spf with the metric for all links set to one,
both for flooding optimization and for fabric locality detection.

So extend isisd's spf code to allow running it with such a metric
and have it run whenever normal spf runs.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: adjacency formation optimization as per section 2.4
Christian Franke [Mon, 2 Apr 2018 15:55:26 +0000 (17:55 +0200)]
fabricd: adjacency formation optimization as per section 2.4

OpenFabric changes IS-IS's initial database synchronization. While
regular IS-IS will simultaneuously exchange LSPs with all neighboring
routers during startup, this is considered too much churn for a densely
connected fabric.

To mitigate this, OpenFabric prescribes that a router should only
bring up an adjacency with a single neighbor and perform a full
synchronization with that neighbor, before bringing up further
adjacencies.

This is implemented by having a field `initial_sync_state` in the
fabricd datastructure which tracks whether an initial sync is still
pending, currently in progress, or complete.

When an initial sync is pending, the state will transition to the
in-progress state when the first IIH is received.

During this state, all IIHs from other routers are ignored. Any
IIHs transmitted on any link other than the one to the router with
which we are performing the initial sync will always report the far
end as DOWN in their threeway handshake state, avoiding the formation of
additional adjacencies.

The state will be left if all the SRM and SSN flags on the
initial-sync circuit are cleared (meaning that initial sync has
completed). This is checked in `lsp_tick`. When this condition occurrs,
we progress to the initial-sync-complete state, allowing other
adjacencies to form.

The state can also be left if the initial synchronization is taking too
long to succeed, for whatever reason. In that case, we fall back to the
initial-sync-pending state and will reattempt initial synchronization
with a different neighbor.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: adjust IS-IS defaults as per draft
Christian Franke [Thu, 22 Mar 2018 13:58:53 +0000 (14:58 +0100)]
fabricd: adjust IS-IS defaults as per draft

OpenFabric specifies that it should always be run with wide metrics via
P2P links and only as Level-2. Implement this as default and remove all
the knobs from fabricd which allow other configuration.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisisd: Fix error output for 'no ip router isis' command
Christian Franke [Tue, 29 May 2018 17:55:42 +0000 (19:55 +0200)]
isisd: Fix error output for 'no ip router isis' command

The 'no ip router isis' command would incorrectly output the afi if the
area to delete does not exist. Make it output the area name instead.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisis: Cleanup CLI, split into parts which are shared, fabricd and isisd
Christian Franke [Thu, 22 Mar 2018 13:44:01 +0000 (14:44 +0100)]
isis: Cleanup CLI, split into parts which are shared, fabricd and isisd

Remove isis_vty.c and create three new files isis_vty_common.c,
isis_vty_fabricd.c and isis_vty_isisd.c which are built into both
daemons, only fabricd and only isisd, respectively.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agovtysh: support fabricd
Christian Franke [Thu, 22 Mar 2018 14:01:15 +0000 (15:01 +0100)]
vtysh: support fabricd

Extend extract.pl so it can deal with the isis source code being
compiled twice, once for isisd and once for fabricd.

Add the fabricd node and client to vtysh.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoredhat: Add fabricd to RPM package
Martin Winter [Fri, 25 May 2018 11:33:41 +0000 (04:33 -0700)]
redhat: Add fabricd to RPM package

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agozebra: add RTPROT_FABRICD route type 197
Christian Franke [Mon, 11 Jun 2018 12:09:23 +0000 (14:09 +0200)]
zebra: add RTPROT_FABRICD route type 197

Add an iproute2 route type for fabricd

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agofabricd: add new daemon as build of isisd
Christian Franke [Thu, 22 Mar 2018 14:01:08 +0000 (15:01 +0100)]
fabricd: add new daemon as build of isisd

fabricd is built using the sources of isisd. To allow differentiation
in the code, -DFABRICD=1 is added to its preprocessor flags.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoMerge pull request #2971 from qlyoung/misc-doc-updates
David Lamparter [Tue, 4 Sep 2018 19:36:14 +0000 (21:36 +0200)]
Merge pull request #2971 from qlyoung/misc-doc-updates

doc: fix building.rst index

6 years agodoc: fix building.rst index
Quentin Young [Tue, 4 Sep 2018 19:28:42 +0000 (19:28 +0000)]
doc: fix building.rst index

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agobgpd, ospfd, pimd, zebra: Convert more use_json locations to bool
Don Slice [Tue, 4 Sep 2018 17:39:04 +0000 (17:39 +0000)]
bgpd, ospfd, pimd, zebra: Convert more use_json locations to bool

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
6 years agoMerge pull request #2909 from netravnen/feature/git-pl-template
Quentin Young [Tue, 4 Sep 2018 15:56:43 +0000 (11:56 -0400)]
Merge pull request #2909 from netravnen/feature/git-pl-template

Add github pull-request-template.md

6 years agoMerge pull request #2934 from LabNConsulting/working/master/rfapi_topotest_support
David Lamparter [Tue, 4 Sep 2018 15:42:32 +0000 (17:42 +0200)]
Merge pull request #2934 from LabNConsulting/working/master/rfapi_topotest_support

add some testing support for use in rfapi topotest

6 years agoMerge pull request #2939 from netravnen/feature/git-issue-teplate
Russ White [Tue, 4 Sep 2018 15:28:18 +0000 (11:28 -0400)]
Merge pull request #2939 from netravnen/feature/git-issue-teplate

Add ISSUE_TEMPLATE

6 years agoMerge pull request #2966 from donaldsharp/v6_cleanup
David Lamparter [Tue, 4 Sep 2018 14:17:39 +0000 (16:17 +0200)]
Merge pull request #2966 from donaldsharp/v6_cleanup

lib: Remove dead code

6 years agolib: Remove dead code
Donald Sharp [Tue, 4 Sep 2018 13:14:53 +0000 (09:14 -0400)]
lib: Remove dead code

The ZEBRA_IPV4_ROUTE_IPV6_NEXTHOP_ADD zapi message has no creators and
no handlers.  Let's just remove.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agobfdd: use UDP sockets instead of raw
Rafael Zalamena [Wed, 29 Aug 2018 18:17:49 +0000 (15:17 -0300)]
bfdd: use UDP sockets instead of raw

Avoid all complexities of handling ethernet/IP/UDP headers and just use
UDP sockets: let the OS kernel handle this task.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
6 years agobfdd: enumerate all diagnositic codes
Rafael Zalamena [Wed, 29 Aug 2018 20:13:46 +0000 (17:13 -0300)]
bfdd: enumerate all diagnositic codes

Enumerate all codes, update the string representation and fix the
misdiagnosed echo failure.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
6 years agobfdd: make bfd_recv_* more generic
Rafael Zalamena [Wed, 29 Aug 2018 17:17:29 +0000 (14:17 -0300)]
bfdd: make bfd_recv_* more generic

We'll reuse these functions later to receive echo packets, so we need
to despecialize them first. Another improvement here is that we are
going to remove the global buffer variable and opt to use the stack.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
6 years agobfdd: remove VxLAN code
Rafael Zalamena [Tue, 28 Aug 2018 19:20:52 +0000 (16:20 -0300)]
bfdd: remove VxLAN code

Remove all VxLAN code. There are probably better ways to write VxLAN
support without having to use raw sockets and depend on extra user
configuration input.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
6 years agobfdd: remove global variables and improve logs
Rafael Zalamena [Tue, 28 Aug 2018 15:33:45 +0000 (12:33 -0300)]
bfdd: remove global variables and improve logs

Remove some more global variables and make the log messages look like
the rest of the code.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
6 years agoMerge pull request #2950 from qlyoung/misc-doc-updates
David Lamparter [Sat, 1 Sep 2018 03:06:46 +0000 (05:06 +0200)]
Merge pull request #2950 from qlyoung/misc-doc-updates

Misc doc updates

6 years agoMerge pull request #2945 from dslicenc/bgp-ospf-json
David Lamparter [Sat, 1 Sep 2018 03:05:30 +0000 (05:05 +0200)]
Merge pull request #2945 from dslicenc/bgp-ospf-json

bgpd/ospfd: make bgp and ospf json response a bit more consistent

6 years ago.github: Update ISSUE_TEMPLATE.md
Christoffer [Fri, 31 Aug 2018 22:10:42 +0000 (00:10 +0200)]
.github: Update ISSUE_TEMPLATE.md

Addressed @rwestphal comments.

Signed-off-by: Christoffer <netravnen@gmail.com>
6 years ago.github: Updated PULL_REQUEST_TEMPLATE.md
Christoffer [Fri, 31 Aug 2018 20:56:33 +0000 (22:56 +0200)]
.github: Updated PULL_REQUEST_TEMPLATE.md

Addressed @qlyoung's suggestions.

Signed-off-by: Christoffer <netravnen@gmail.com>
6 years ago.github: Updated ISSUE_TEMPALTE.md
Christoffer [Fri, 31 Aug 2018 19:53:02 +0000 (21:53 +0200)]
.github: Updated ISSUE_TEMPALTE.md

Addressed @qlyoung's suggestions.

Signed-off-by: Christoffer <netravnen@gmail.com>
6 years agozebra: remove invalid ref "frr-configuration"
Quentin Young [Fri, 31 Aug 2018 18:04:31 +0000 (18:04 +0000)]
zebra: remove invalid ref "frr-configuration"

There is, in fact, no such additional information

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agodoc: update subdir.am
Quentin Young [Fri, 31 Aug 2018 17:15:14 +0000 (17:15 +0000)]
doc: update subdir.am

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agodoc: update misc build docs
Quentin Young [Thu, 30 Aug 2018 19:18:30 +0000 (19:18 +0000)]
doc: update misc build docs

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agodoc: name correct sphinx package under FreeBSD 11
Quentin Young [Thu, 30 Aug 2018 17:32:47 +0000 (17:32 +0000)]
doc: name correct sphinx package under FreeBSD 11

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agodoc: rename building_frr_on* -> building_frr_for*
Quentin Young [Thu, 30 Aug 2018 17:31:45 +0000 (17:31 +0000)]
doc: rename building_frr_on* -> building_frr_for*

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agobgpd: convert from conditional operator to if-then for json changes
Don Slice [Fri, 31 Aug 2018 16:32:22 +0000 (16:32 +0000)]
bgpd: convert from conditional operator to if-then for json changes

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
6 years agoMerge pull request #2913 from opensourcerouting/non-recursive-prep
Quentin Young [Fri, 31 Aug 2018 15:43:59 +0000 (11:43 -0400)]
Merge pull request #2913 from opensourcerouting/non-recursive-prep

pre-final non-recursive make

6 years agoMerge pull request #2955 from ton31337/feature/nexthop_blackhole
David Lamparter [Fri, 31 Aug 2018 15:33:40 +0000 (17:33 +0200)]
Merge pull request #2955 from ton31337/feature/nexthop_blackhole

plist: Add safety check to avoid going over 4294967295 for prefix-list

6 years agoMerge pull request #2940 from ton31337/fix/as-path_validation
David Lamparter [Fri, 31 Aug 2018 13:56:44 +0000 (15:56 +0200)]
Merge pull request #2940 from ton31337/fix/as-path_validation

bgpd: Validate as-path access-list before continuing regarding invaliā€¦

6 years agoplist: Add safety check to avoid going over 4294967295 for prefix-list
Donatas Abraitis [Fri, 31 Aug 2018 13:38:56 +0000 (16:38 +0300)]
plist: Add safety check to avoid going over 4294967295 for prefix-list

6 years agobgpd: change conditional operators for bgp/ospf json changes
Don Slice [Fri, 31 Aug 2018 12:50:02 +0000 (12:50 +0000)]
bgpd: change conditional operators for bgp/ospf json changes

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
6 years agobgpd: Validate as-path access-list before continuing regarding invalid chars
Donatas Abraitis [Wed, 29 Aug 2018 16:12:30 +0000 (19:12 +0300)]
bgpd: Validate as-path access-list before continuing regarding invalid chars

Signed-off-by: Donatas Abraitis donatas.abraitis@gmail.com
6 years ago.github: Updated ISSUE_TEMPALTE.md
Christoffer [Fri, 31 Aug 2018 11:00:25 +0000 (13:00 +0200)]
.github: Updated ISSUE_TEMPALTE.md

Addressed all of @qlyoung's "presentational nits
and a formatting suggestion". As well as
@rwestphal's idea of OS and FRR name+version
numbers.

Signed-off-by: Christoffer <netravnen@gmail.com>
6 years agoMerge pull request #2785 from donaldsharp/AGGanomics
Lou Berger [Fri, 31 Aug 2018 10:58:12 +0000 (06:58 -0400)]
Merge pull request #2785 from donaldsharp/AGGanomics

Abstract `void *aggregate` pointer in `struct route_node`

6 years agoMerge pull request #2951 from qlyoung/sort-route-maps
David Lamparter [Fri, 31 Aug 2018 10:17:20 +0000 (12:17 +0200)]
Merge pull request #2951 from qlyoung/sort-route-maps

lib: sort route-maps for display

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>