Commit Graph

12758 Commits

Author SHA1 Message Date
David Lamparter
b45ac5f5c6 *: fix config.h/zebra.h include order
config.h (or, transitively, zebra.h) must be the first include file
listed for autoconf things like _GNU_SOURCE and _POSIX_C_SOURCE to work
correctly.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-08 21:30:42 +02:00
David Lamparter
dbac691da6 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>
2018-09-08 21:30:42 +02:00
David Lamparter
1847924159 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>
2018-09-08 21:30:42 +02:00
David Lamparter
2b2f275ee2 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>
2018-09-08 21:30:42 +02:00
David Lamparter
4007e3adf1 build: use -export-dynamic
Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-08 21:30:42 +02:00
David Lamparter
82f9e9b358 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>
2018-09-08 21:30:42 +02:00
David Lamparter
086aec2ad4 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>
2018-09-08 21:30:42 +02:00
David Lamparter
e7c25325cc *: cleanup .gitignore files
Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-08 21:30:42 +02:00
David Lamparter
b37ccace1e 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>
2018-09-08 21:30:19 +02:00
David Lamparter
74dc19a2f5 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>
2018-09-08 21:30:19 +02:00
David Lamparter
aad24c5ba6 build: remove common.am
Fold things into where they make sense.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-08 21:26:54 +02:00
David Lamparter
f8948c1e02 build: include helper Makefiles in dist
Need these to have "make" work in subdirectories.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-08 21:26:54 +02:00
David Lamparter
a1286a3245 build: non-recursive tests
May SUBDIRS rest in pieces... er, peace.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-08 21:26:54 +02:00
David Lamparter
8b7668ecce build: non-recursive vtysh
Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-08 21:26:54 +02:00
David Lamparter
84d837b75d 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>
2018-09-08 21:25:59 +02:00
Donald Sharp
714e135429
Merge pull request #2875 from opensourcerouting/fabricd
OpenFabric support
2018-09-08 13:48:48 -04:00
David Lamparter
37258ed97f
Merge pull request #2991 from donaldsharp/mac_compiling
Mac compiling cleanups
2018-09-08 19:45:18 +02:00
David Lamparter
3be6e41147 isisd: silence SA warnings
As suggested by Renato Westphal.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-08 18:25:45 +02:00
Donald Sharp
7c70dc57e0 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>
2018-09-08 12:00:17 -04:00
Donald Sharp
8860ffdc09 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>
2018-09-08 12:00:17 -04:00
Donald Sharp
afc9534f67 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>
2018-09-08 12:00:17 -04:00
Donald Sharp
7b90f00cce 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>
2018-09-08 12:00:17 -04:00
David Lamparter
6317894ef3
Merge pull request #2989 from donaldsharp/static_debug
Static debug
2018-09-08 17:38:48 +02:00
David Lamparter
d1490fb796
Merge pull request #2988 from donaldsharp/more_debugs
zebra: Modify nexthop checks to report inactive a bit more
2018-09-08 17:36:18 +02:00
David Lamparter
18b43e554e
Merge pull request #2981 from donaldsharp/v6_vxlan_bug
zebra: Fix RB-Tree storage comparison function for v6
2018-09-08 17:35:20 +02:00
David Lamparter
5af18c4126
Merge pull request #2982 from donaldsharp/smux_h
lib: Add missing smux.h to `make distrib` results
2018-09-08 17:13:45 +02:00
Martin Winter
cb50f399db
Merge pull request #2949 from donaldsharp/removal
ospf6d: Remove deprecated code after 1 year
2018-09-07 19:04:51 +02:00
Quentin Young
dfeef149e9
Merge pull request #2987 from pacovn/Coverity_1473088_ovf_array_index_write
lib: array index check (Coverity 1473088)
2018-09-07 11:40:31 -04:00
Donald Sharp
aaf8c96fa9 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>
2018-09-07 07:05:35 -04:00
Donald Sharp
e60b527e66 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>
2018-09-07 07:01:19 -04:00
F. Aragon
aa1bac3039
lib: array index check (Coverity 1473088)
Signed-off-by: F. Aragon <paco@voltanet.io>
2018-09-07 11:20:45 +02:00
Donald Sharp
34815ea334 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>
2018-09-06 20:24:00 -04:00
Renato Westphal
ccf811a32b
Merge pull request #2984 from donaldsharp/ak503_eigrp
eigrp: opnional metric in 'no redistribute'
2018-09-06 13:51:40 -03:00
Renato Westphal
f9ecc65d03
Merge pull request #2974 from donaldsharp/v4_and_v6
V4 and v6
2018-09-06 12:33:26 -03:00
dturlupov
1a5cad2e9a eigrp: opnional metric in 'no redistribute'
Signed-off-by: Dmitrii Turlupov <dturlupov@factor-rs.ru>
2018-09-06 06:14:51 -04:00
Donald Sharp
fa83edf08b 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>
2018-09-05 21:03:58 -04:00
Donald Sharp
ba041beaae 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>
2018-09-05 21:03:58 -04:00
Donald Sharp
2d68a0f2da 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>
2018-09-05 21:02:18 -04:00
Donald Sharp
98ea5be8b3 lib: Add missing smux.h to make distrib results
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-05 20:58:50 -04:00
Donald Sharp
c279fc5fdd
Merge pull request #2959 from opensourcerouting/bfd-cleanup
bfdd: code clean up
2018-09-05 19:54:35 -04:00
Russ White
7f0f6e7b75
Merge pull request #2873 from vivek-cumulus/evpn-extended-mobility
EVPN extended mobility support
2018-09-05 18:09:31 -04:00
Donald Sharp
2acc231024 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>
2018-09-05 17:04:35 -04:00
Rafael Zalamena
9835f17d33 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>
2018-09-05 12:29:14 -03:00
Rafael Zalamena
8529e18048 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>
2018-09-05 12:27:52 -03:00
Russ White
fc449ff00d
Merge pull request #2970 from dslicenc/more-bool-use-json
bgpd, ospfd, pimd, zebra: Convert more use_json locations to bool
2018-09-05 10:38:11 -04:00
Christian Franke
f3c7b99d05 doc: add documentation for fabricd
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-09-05 11:41:47 +02:00
Christian Franke
f6ae63ca95 isisd: fix warnings by removing union isis_N and going to void * instead
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-09-05 11:38:13 +02:00
Christian Franke
4141588823 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>
2018-09-05 11:38:13 +02:00
Christian Franke
103e4a718f 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>
2018-09-05 11:38:13 +02:00
Christian Franke
df0ba689eb 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>
2018-09-05 11:38:13 +02:00