summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-03-25babeld: Add support for blackhole routes.Juliusz Chroboczek
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.
2012-03-25babeld: refactor filtering stubs.Juliusz Chroboczek
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.
2012-03-25zebra: Display uptime of Babel routes in show ip[v6] route.Juliusz Chroboczek
2012-03-25babeld: Use quagga_gettime.Juliusz Chroboczek
2012-03-25babeld: Don't use an ifindex when installing IPv4 routes.Juliusz Chroboczek
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.
2012-03-25babeld: remove some unused functions' arguments.Matthieu Boutier
2012-03-25doc: fix typo in babeld.Matthieu Boutier
2012-03-25doc: Document babeld.Juliusz Chroboczek
2012-03-25babeld: Indentation fix.Juliusz Chroboczek
2012-03-25babeld: Error handling and tweaks for babeld commands.Juliusz Chroboczek
2012-03-25babeld: Fix typo in hello interval command.Juliusz Chroboczek
2012-03-25vtysh: Vtysh support for babeld.Juliusz Chroboczek
2012-03-25babeld: Replace the babeld.conf.sample file by one that actually works.Juliusz Chroboczek
2012-03-25babeld: fix interface bug, simplify code.Matthieu Boutier
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).
2012-03-25babeld: state-file was loaded too early. Initial seqno too.Matthieu Boutier
2012-03-25babeld: fix eui64 features.Matthieu Boutier
We are interested by eui64 with at least 6 octets.
2012-03-25babeld: "return CMD_SUCCESS" was missing for command 'no debug'.Matthieu Boutier
2012-03-25babeld: Replace redistribution strings with route_types.h defines.Matthieu Boutier
2012-03-25babeld: babelz merge.Matthieu Boutier
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.
2012-03-25babeld: remove unused variable.Matthieu Boutier
2012-03-25vtysh: fix regexp for install_element() in babeldAng Way Chuang
2012-03-25babeld: add MP-specific zclient API fixDenis Ovsienko
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.
2012-03-25babeld: change the modify route system.Matthieu Boutier
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.
2012-03-25babeld: fix bug due to v4mapped addresses.Matthieu Boutier
2012-03-25babeld: add command (config) to set debug flags.Matthieu Boutier
2012-03-25babeld: remove useless variable, make local another.Matthieu Boutier
2012-03-25memory: install babel memory informations.Matthieu Boutier
2012-03-25babeld: fix commands informations messages.Matthieu Boutier
2012-03-25babeld: place the babel-state file in the quagga vars directory.Matthieu Boutier
2012-03-25babeld: use zlog_debug instead of do_debugf, for debugf.Matthieu Boutier
2012-03-25babeld: add command: "show_babel_running_config".Matthieu Boutier
2012-03-25babeld: add command: "show_babel_database".Matthieu Boutier
2012-03-25babeld: add command: "show_babel_neighbour".Matthieu Boutier
2012-03-25babeld: avoid segfault (bug 706).Matthieu Boutier
2012-03-25babeld: change fprintf(stderr) in term of zlog_err.Matthieu Boutier
2012-03-25babeld: implement "show babel interface" commandDenis Ovsienko
* babel_interface.c * show_babel_interface_sub(): new function to process one ifp * show_babel_interface(): new function, VTY wrapper * babel_if_init(): update respectively
2012-03-25babeld: add handling of "-z" cmdline argDenis Ovsienko
2012-03-25babeld: bring babel_usage() into focusDenis Ovsienko
2012-03-25lib: update proto_redistnum() for BabelDenis Ovsienko
2012-03-25babeld: address remaining -Wcast-qual warningsDenis Ovsienko
* net.c * babel_send(): arguments are not treated as "const", justify declaration * babel_main.c: declare constant pointers as such
2012-03-25babeld: fix bug concerning pidfile.Matthieu Boutier
2012-03-25babeld: address some other compilation warnings.Matthieu Boutier
2012-03-25babeld: address some compilation warningsDenis Ovsienko
Including system headers is not necessary with zebra.h included and sometimes results in "__ASSERT_FUNCTION redefined" compilation warning. * babeld.c * babel_distribute_update_interface(): make static * babel_interface.c * interface_config_write(): unused 'babel_ifp' * don't include system headers * message.c * send_request(): unused 'babel_ifp' * send_multihop_request(): idem * don't include system headers * route.c: don't include system headers * xroute.c: idem * source.h: newline at EOF * message.h: idem
2012-03-25babeld: address FreeBSD "struct route" issueDenis Ovsienko
FreeBSD system headers have their own "struct route", which made it impossible to compile babeld. Switching babeld to "struct babel_route".
2012-03-25babeld: clean kernel_zebra (old functions, fields...).Matthieu Boutier
2012-03-25babeld: Initial import, for Babel routing protocol.Paul Jakma
* Initial import of the Babel routing protocol, ported to Quagga. * LICENCE: Update the original LICENCE file to include all known potentially applicable copyright claims. Ask that any future contributors to babeld/ grant MIT/X11 licence to their work. * *.{c,h}: Add GPL headers, in according with the SFLC guidance on dealing with potentially mixed GPL/other licensed work, at: https://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html
2012-03-23lib: fix endianness bug in prefix.cRenato Westphal
While defining two "maskbytes" arrays for the respective endiannesses, the code was unconditionally using one that only worked on little endian systems. Use preprocessor macros to avoid the somewhat expensive htonl/ntohl macros. From: Renato Westphal <renatowestphal@gmail.com> Signed-off-by: David Lamparter <equinox@diac24.net>
2012-03-12ospfd: reduce ospf_verify_header()Denis Ovsienko
Protocol version checks fits ospf_packet_examin() better (like it is implemented in ospf6d), and packet type check is already there.
2012-03-12ospfd: bring ospf_check_auth() into focusDenis Ovsienko
The old ospf_check_auth() function did two different jobs depending on AuType. For Null and Simple cases it actually authenticated the packet, but for Cryptographic case it only checked declared packet size (not taking the actual number of bytes on wire into account). The calling function, ospf_verify_header(), had its own set of MD5/checksum checks dispatched depending on AuType. This commit makes the packet size check work against the real number of bytes and moves it to ospf_packet_examine(). All MD5/checksum verification is now performed in ospf_check_auth() function. * ospf_packet.c * ospf_packet_examin(): check length with MD5 bytes in mind * ospf_verify_header(): remove all AuType-specific code * ospf_check_auth(): completely rewrite
2012-03-12ospfd: introduce ospf_auth_type_str[]Denis Ovsienko