0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-09-20 04:15:19 +00:00
bird/nest
Maria Matejka 32bb548c11 Table: Fixed feed race condition
The problem happened like this:

1. Single route for the given net in table
2. A feed is started
3. The route is deleted (from another thread)
4. The feed finds an empty net, exports nothing, ignores journal (here is bug)
5. The route is added
6. The export transitions from FEEDING to READY
7. While processing the journal, the route deletion and addition combines into noop.

This way routes mysteriously disappeared in specific cases of link instability.

Problem fixed by explicitly marking the empty-net journal entries as processed in step 4.
2023-09-24 20:43:04 +02:00
..
bfd.h BFD notifications respect protocol loop settings 2023-04-04 17:00:58 +02:00
bird.h Enforcing certain data structure explicit paddings. 2022-05-04 15:37:41 +02:00
cli.c CLI: Dropping the mechanism of echoing log messages 2023-09-14 14:45:01 +02:00
cli.h CLI: Dropping the mechanism of echoing log messages 2023-09-14 14:45:01 +02:00
cmds.c Logging: Abolished stdio in favor of write() to make the logging faster. 2023-09-24 20:40:06 +02:00
cmds.h Filter refactoring: dropped the recursion from the interpreter 2019-02-20 22:30:54 +01:00
config.Y CLI: Dropping the mechanism of echoing log messages 2023-09-14 14:45:01 +02:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
iface.c Refactoring of domains connected to pools 2023-04-25 09:52:28 +02:00
iface.h Interface subsystem locking 2023-04-04 17:00:58 +02:00
limit.h Limited value must never go under zero 2022-10-12 10:05:14 +02:00
locks.c Refactoring of domains connected to pools 2023-04-25 09:52:28 +02:00
locks.h Resource pools are now bound with domains. 2023-04-24 10:33:28 +02:00
Makefile Merge commit '0851fcde' into thread-next-iface 2023-04-14 11:37:23 +02:00
neighbor.c Interface subsystem locking 2023-04-04 17:00:58 +02:00
password.c Nest: Allow MAC algorithms to specify min/max key length 2021-06-06 16:28:18 +02:00
password.h Resource pools are now bound with domains. 2023-04-24 10:33:28 +02:00
proto-hooks.c Dropping rte-local dumper entries 2021-10-13 19:09:05 +02:00
proto.c Table: Fixed feed race condition 2023-09-24 20:43:04 +02:00
proto.sgml Channels - explicit links between protocols and tables 2016-02-01 10:28:50 +01:00
protocol.h Renamed channel class pointers 2023-09-24 20:43:04 +02:00
rt-attr.c Properly protecting the route src global index by RCU read lock and atomic operations 2023-05-11 11:41:01 +02:00
rt-dev.c Merge commit '0bb04d5390f21b0c96fc4894ba5d5510c541f0ef' into HEAD 2023-02-07 14:27:23 +01:00
rt-dev.h Nest: SADR support for Direct 2018-03-18 02:56:51 +01:00
rt-fib.c Splitting route data structures out to lib 2022-05-04 15:37:41 +02:00
rt-show.c Resource pools are now bound with domains. 2023-04-24 10:33:28 +02:00
rt-table.c Table: Fixed feed race condition 2023-09-24 20:43:04 +02:00
rt.h Table: Fixed feed race condition 2023-09-24 20:43:04 +02:00