0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-11-18 17:18:42 +00:00
bird/nest
Maria Matejka f18968f52f Better profylaction recursive route loops
In some specific configurations, it was possible to send BIRD into an
infinite loop of recursive next hop resolution. This was caused by route
priority inversion.

To prevent priority inversions affecting other next hops, we simply
refuse to resolve any next hop if the best route for the matching prefix
is recursive or any other route with the same preference is recursive.

Next hop resolution doesn't change route priority, therefore it is
perfectly OK to resolve BGP next hops e.g. by an OSPF route, yet if the
same (or covering) prefix is also announced by iBGP, by retraction of
the OSPF route we would get a possible priority inversion.
2021-11-22 19:05:43 +01:00
..
a-path_test.c Filter refactoring: dropped the recursion from the interpreter 2019-02-20 22:30:54 +01:00
a-path.c Nest: Implement BGP path mask loop operator 2020-05-18 16:25:08 +02:00
a-set_test.c Filter refactoring: dropped the recursion from the interpreter 2019-02-20 22:30:54 +01:00
a-set.c Filter: Merged postfixify routine 2019-02-20 22:30:54 +01:00
attrs.h Nest: Implement BGP path mask loop operator 2020-05-18 16:25:08 +02:00
bfd.h BFD: Allow per-request session options 2020-11-08 15:33:22 +01:00
bird.h Initial commit on integrated BIRD 2015-11-05 12:48:52 +01:00
cli.c CLI: Fix continuation lines after final one 2019-11-26 16:43:09 +01:00
cli.h Show info from multiple protocols when protocol is not specified 2020-06-28 15:38:47 +02:00
cmds.c BGP: Add support for BGP hostname capability 2021-02-10 16:53:57 +01:00
cmds.h Filter refactoring: dropped the recursion from the interpreter 2019-02-20 22:30:54 +01:00
config.Y Special table hooks rectified. 2021-11-22 19:05:43 +01:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
iface.c Nest: Fix neighbor handling for colliding ranges 2020-05-11 04:29:36 +02:00
iface.h Nest: Fix neighbor handling for colliding ranges 2020-05-11 04:29:36 +02:00
limit.h Limit containment 2021-11-09 19:20:41 +01:00
locks.c Lib: Add and use ev_new_init() 2018-10-01 15:55:23 +02:00
locks.h Nest: VRF support for neighbor cache and olock code 2017-09-12 15:49:36 +02:00
Makefile Nest: split route show into separate file 2017-05-15 12:10:51 +02:00
neighbor.c Some minor sl_allocz() cleanups 2020-11-24 03:21:44 +01:00
password.c Nest: Allow MAC algorithms to specify min/max key length 2021-06-06 16:28:18 +02:00
password.h Nest: Allow MAC algorithms to specify min/max key length 2021-06-06 16:28:18 +02:00
proto-hooks.c Dropping rte-local dumper entries 2021-10-13 19:09:05 +02:00
proto.c Special table hooks rectified. 2021-11-22 19:05:43 +01:00
proto.sgml Channels - explicit links between protocols and tables 2016-02-01 10:28:50 +01:00
protocol.h Special table hooks rectified. 2021-11-22 19:05:43 +01:00
route.h Special table hooks rectified. 2021-11-22 19:05:43 +01:00
rt-attr.c Special table hooks rectified. 2021-11-22 19:05:43 +01:00
rt-dev.c Split route data structure to storage (ro) / manipulation (rw) structures. 2021-11-09 19:20:41 +01:00
rt-dev.h Nest: SADR support for Direct 2018-03-18 02:56:51 +01:00
rt-fib.c RIP: Demand circuit support (RFC 2091) 2020-02-21 02:35:50 +01:00
rt-show.c Special table hooks rectified. 2021-11-22 19:05:43 +01:00
rt-table.c Better profylaction recursive route loops 2021-11-22 19:05:43 +01:00