bird/proto/babel
Toke Høiland-Jørgensen 8657e7e703
babel: Don't try to remove multicast seqno request objects from neighbour list
The Babel seqno request code keeps track of which seqno requests are
outstanding for a neighbour by putting them onto a per-neighbour list. When
reusing a seqno request, it will try to remove this node, but if the seqno
request in question was a multicast request with no neighbour attached this
will result in a crash because it tries to remove a list node that wasn't
added to any list.

Fix this by making the list remove conditional. Also add a check so that
seqno requests are only reused if the neighbour also matches, allowing
multiple outstanding requests for the same router ID.

Fixes: ebd5751cde ("Babel: Seqno requests are properly decoupled from neighbors when the underlying interface disappears")
Reported-by: Stefan Haller <stefan.haller@stha.de>
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2022-12-12 13:46:35 +08:00
..
babel.c babel: Don't try to remove multicast seqno request objects from neighbour list 2022-12-12 13:46:35 +08:00
babel.h Babel: Convert the rte-local attributes to extended attributes 2021-10-13 19:09:04 +02:00
config.Y Babel: Add MAC authentication support - update 2021-06-06 16:28:18 +02:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
Makefile Simplified the protocol hookup code in Makefiles 2022-08-18 22:07:30 +02:00
packets.c Merge remote-tracking branch 'origin/master' into haugesund-to-2.0 2022-05-30 15:20:21 +02:00