CVSROOT: /cvs Module name: src Changes by: clau...@cvs.openbsd.org 2022/08/26 08:10:52
Modified files: usr.sbin/bgpd : bgpd.h rde.c rde.h rde_peer.c session.c Log message: Handle IMSG_SESSION_* messages immediatly when received and do not put them on the per peer imsg queue. This is mainly for IMSG_SESSION_DOWN. Delaying the session down can race against IMSG_SESSION_ADD which is handled immediatly and as a result an establised connection may be removed in the RDE because of it. The various graceful restart imsgs need similar treatment for similar reasons. In the end when a session is reset/closed the RDE needs to stop all work and flush the per peer imsg queue. With this only update and route refresh messages are handled via the imsg queue. OK tb@