]> git.ipfire.org Git - thirdparty/bird.git/commit
Pipe: Fix inconsistency caused by rare pipe collision
authorMaria Matejka <mq@ucw.cz>
Fri, 13 Jun 2025 18:37:16 +0000 (20:37 +0200)
committerMaria Matejka <mq@ucw.cz>
Sat, 14 Jun 2025 20:06:38 +0000 (22:06 +0200)
commit1acec6a5ed5ef4905d25d7f8d994451c006246a9
tree6600588509bf13af8cbdaa36ce2a099e235cea13
parent2fbe4d47f5d31b79591d8f9bf5f23faf19e83bd9
Pipe: Fix inconsistency caused by rare pipe collision

When two different pipes modify the same route in two different ways
and both results are attempted to be imported into the same table,
the table complains and should ignore the whole update. Yet it did so
only if the routes were identical (which was also tested previously).

Instead of ignoring, this routine replaced the original route with the
new one from another sender which caused a discrepancy in counters in
the original sender and later crash on failed consistency check.

Discovered randomly when trying to reproduce another bug and
accidentally doing exactly this sequence of pipe collision and
then reconfiguration to rectify the collision by removing the pipe
altogether.

Fixes: #282
nest/rt-table.c