Age | Commit message (Collapse) | Author |
|
Add support for keyword commands.
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
|
Use the array_size() helper macro. Replaces several instances of local
macros with the same definition.
Reviewed-by: Scott Feldman <sfeldma@cumulusnetworks.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|
The correct method to link to NetSNMP is to use net-snmp-config (which
is like pkg-config). Explicit link to libcrypto is also dropped
(NetSNMP libs are linked to libcrypto, no need to link Quagga to
it). Moreover, @SNMP_INCLUDES@ is dropped because useless. Due to a
bug in configure.ac, it was properly populated.
|
|
Some .h files in lib/ are autogenerated. The search path should
include the build directory and the source directory. They usually
match but sometimes, they may be different. For example:
$ mkdir build
$ cd build
$ ../configure
$ make
|
|
In upstream babel, we include different kernel_foo files depending on the
platform we compile for. In Quagga, this is not needed, and it avoids
tricky autotools issues. (All autotools issues are tricky.)
[David: without this commit, build breaks.]
From: Juliusz Chroboczek <jch@pps.jussieu.fr>
Signed-off-by: David Lamparter <equinox@diac24.net>
|
|
babeld wouldn't build in a dist tarball without this.
From: Denis Ovsienko <infrastation@yandex.ru>
Signed-off-by: Juliusz Chroboczek <jch@pps.jussieu.fr>
[fixed up git message]
Signed-off-by: David Lamparter <equinox@diac24.net>
|
|
This is the functionality described in Appendix C of RFC 6126. Its
main purpose is to avoid keeping a full source table, which makes it
possible to implement a subset of Babel in just a few hundred lines of
code. However, in Quagga the code for maintaining the source table is
already there, and a parasitic implementation can be simulated using
filtering -- so it makes little sense to keep the functionality.
|
|
This commit makes the following lines visible in running-config text,
when respective intervals are configured to non-default values:
* babel hello-interval
* babel update-interval
* babel resend-delay
|
|
|
|
|
|
|
|
|
|
Standalone babeld has a configuration interface that is not used in
Quagga. This removes a few bits of this code that survived the
port to Quagga.
|
|
|
|
The primary focus of this commit is to make "show running-config"
command display more current configuration, including some of the bits
previously seen in the output of "show babel running-config". Besides
that, the following commands were renamed for consistency with the
syntax of other components:
"debug *" to "debug babel *" (and moved to top level)
"show babel running-config" to "show babel parameters"
* babel_interface.c
* show_babel_running_config(): rename to show_babel_parameters(),
update syntax pattern, don't call show_babeld_configuration()
* babel_if_init(): update respectively
* babel_enable_if_config_write(): new VTY helper for static
babel_enable_if
* babel_interface.h: add extern declaration
* babel_main.c: unset all debug options by default
* show_babel_main_configuration(): remove debug options decoder
* babel_zebra.c
* babel_debug(): rename to debug_babel(), update syntax pattern
* no_babel_debug(): rename to no_debug_babel(), update syntax pattern
* babelz_zebra_init(): update respectively
* debug_babel_config_write() new VTY helper for static debug_type
* babel_zebra.h: add extern declaration
* babeld.c
* babel_config_write(): add the code to output "debug babel *",
"router babel", "redistribute *" and "network *" statements
* show_babeld_configuration(): dismiss
* babeld.h: remove extern declaration
* babeld.texi: update for renamed commands
* babeld.conf.sample: idem, add debug statements block
|
|
Thanks to Denis Ovsienko.
|
|
|
|
|
|
They didn't work anyway, since they're called too late.
|
|
|
|
The function was effectively duplicating existing
zclient_redistribute(). This makes no_babel_redistribute_type()
consistent with babel_redistribute_type()
|
|
|
|
Babel makes use of blackhole routes to prevent routing loops between
overlapping prefixes shortly after a route is retracted (see RFC 6126
sections 2.8 and 3.5.5). This patch adds support for installing such
blackhole routes.
|
|
Factorise the common parts of the in/out filtering functions. This also
fixes a bug with filtered out routes, which in babeld are signalled by
a filter returing INFINITY, not -1.
|
|
|
|
Stand-alone babeld installs routes using both a next-hop gateway
and an interface index. Unfortunately, this doesn't work for IPv4
under Quagga.
We now ignore the ifindex when installing IPv4 routes, which makes
Babel work for IPv4 in prefix-based networks. Of course this breaks
IPv4 mesh networks, unless you play some tricks with your interfaces'
netmasks.
|
|
|
|
|
|
|
|
|
|
|
|
Perhaps could it be able to free already free memory (so free(NULL)),
in function interface_reset(). On other hand, it initiated untracked
interfaces, raising (at least) inappropriate messages. Finally, I
remove the BABEL_IF_IS_ENABLE flag, witch was not really usefull.
Note the test if_up isn't weaker, because (...IS_UP => ...IS_ENABLE).
|
|
|
|
We are interested by eui64 with at least 6 octets.
|
|
|
|
|
|
Babelz is the last version of the stand-alone babel daemon. In
particular, it use multiple channels to diminuate
interferences. Please refer to this one for more details.
|
|
|
|
Add proper initialization of SAFI field, which is present in the
revisions of zapi_ipv4 and zapi_ipv6 structures specific to
MP-BGP patchset. Without this change no Babel routes could make
into zebra RIB.
|
|
Zebra doesn't set errno to EEXIST if we add a route who was already in
the kernel, so we always returned after just doing "add; delete". This
patch fix the problem by doing "delete; add" always.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|