bird/nest
Ondrej Zajicek (work) e84c81b76f Nest: Prevent withdraws from propagation back to source protocol
The earlier fix loosen conditions for not running filters on old
route when deciding about route propagation to a protocol to avoid
issues with ghost routes in some race conditions.

Unfortunately, the fix also caused back-propagation of withdraws. For
regular updates, back-propagation is prevented in import_control hooks,
but these are not called on withdraws. For them, import_control hooks
are called on old routes instead, changing (old, NULL) notification
to (NULL, NULL), which is ignored. By not calling export processing
in some cases, the withdraw is not ignored and is back-propagated.

This patch fixes that by contract conditions so the earlier fix is not
applied to back-propagated updates.
2019-01-30 17:25:21 +01:00
..
a-path.c No more warnings ... 2018-09-18 14:21:11 +02:00
a-path_test.c Nest: Trivial whitespace cleanup 2018-02-07 17:12:33 +01:00
a-set.c BGP: Fix non-transitive ext communities 2017-12-13 15:57:44 +01:00
a-set_test.c Linpool: default allocation size 2017-05-16 15:34:57 +02:00
attrs.h BGP: Fix non-transitive ext communities 2017-12-13 15:57:44 +01:00
bfd.h Minor cleanup 2017-12-14 21:52:07 +01:00
bird.h Initial commit on integrated BIRD 2015-11-05 12:48:52 +01:00
cli.c Nest: Trivial whitespace cleanup 2018-02-07 17:12:33 +01:00
cli.h Nest: split route show into separate file 2017-05-15 12:10:51 +02:00
cmds.c Timers: Parse and format functions for microsecond times 2017-12-07 13:49:27 +01:00
cmds.h Implements eval command and minor CLI cleanups. 2013-07-25 13:15:32 +02:00
config.Y BGP: implement Adj-RIB-In 2018-12-12 14:46:24 +01:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
iface.c Nest: Do not hard-reset interface when preferred address is changed 2018-11-28 16:55:32 +01:00
iface.h Nest: Do not hard-reset interface when preferred address is changed 2018-11-28 16:55:32 +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 Nest: Neighbor cache cleanups 2018-06-27 16:57:07 +02:00
password.c Timers: Add typecast to unit-converting macros 2017-12-07 13:53:42 +01:00
password.h Timers: Parse and format functions for microsecond times 2017-12-07 13:49:27 +01:00
proto-hooks.c Terminology cleanup: The import_control hook is now called preexport. 2018-12-04 10:53:01 +01:00
proto.c Perf: Protocol to measure BIRD performance internally 2018-12-18 15:08:31 +01:00
proto.sgml Channels - explicit links between protocols and tables 2016-02-01 10:28:50 +01:00
protocol.h Perf: Protocol to measure BIRD performance internally 2018-12-18 15:08:31 +01:00
route.h Perf: Protocol to measure BIRD performance internally 2018-12-18 15:08:31 +01:00
rt-attr.c Nest: Handle labels_orig correctly in attribute cache 2018-12-18 14:41:12 +01:00
rt-dev.c Protocol: Introducing an enum protocol_class 2018-05-29 12:35:06 +02:00
rt-dev.h Nest: SADR support for Direct 2018-03-18 02:56:51 +01:00
rt-fib.c Route table max hash size raised to 2^24. 2018-12-04 14:00:44 +01:00
rt-show.c Terminology cleanup: The import_control hook is now called preexport. 2018-12-04 10:53:01 +01:00
rt-table.c Nest: Prevent withdraws from propagation back to source protocol 2019-01-30 17:25:21 +01:00